import logging
import os.path
import random
from flask_babel import gettext as __
from flask_babel import lazy_gettext as _
from flask import g
import pysnooper
import datetime
from flask import jsonify
from myapp import conf
from myapp.views.base import BaseMyappView

from flask_appbuilder import expose
from myapp import appbuilder
from flask import stream_with_context, request


class Myapp(BaseMyappView):
    route_base = '/myapp'
    default_view = 'welcome'  # 设置进入蓝图的默认访问视图（没有设置网址的情况下）

    # @expose('/welcome')
    # @expose('/profile/<username>/')
    # def welcome(self, username=None):
    #     if not g.user or not g.user.get_id():
    #         return redirect(appbuilder.get_url_for_login)
    #     if username:
    #         msg = 'Hello ' + username + " !"
    #     else:
    #         msg = 'Hello ' + g.user.username + " !"
    #
    #     # 返回模板
    #     return self.render_template('hello.html', msg=msg)

    @expose('/home')
    def home(self):
        # 返回模板
        return self.render_template('home.html')

    @expose('/navbar_right')
    def navbar_right(self):
        data = [
            {
                "icon": '<svg t="1682394317506" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2833" width="50" height="50"><path d="M431.207059 2.199998C335.414129 13.19899 257.420186 72.593947 219.024215 163.78688l-6.199996 14.797989-19.997985 5.799996C104.233299 210.582846 38.840347 279.776795 15.041364 372.369727c-6.999995 27.39698-8.999993 71.393948-4.199997 99.990927 7.399995 44.996967 26.597981 88.592935 53.795961 121.989911l9.198993 11.399991-5.199996 19.597986c-6.799995 26.597981-8.598994 74.593945-3.799997 103.190924 14.799989 87.392936 75.193945 163.58688 155.587886 196.383857 46.395966 18.998986 95.99193 24.797982 142.187895 16.798987l11.599992-1.999998 18.597986 17.598987c30.396978 28.596979 66.593951 48.395965 108.789921 59.994956 25.998981 6.999995 83.193939 8.999993 111.391918 3.599997 53.194961-9.799993 98.391928-33.797975 137.1889-72.794946 27.996979-28.196979 51.194963-64.393953 59.794956-93.591932 2.199998-6.999995 3.599997-8.599994 8.798993-9.799993 12.798991-2.598998 42.595969-13.39799 56.194959-20.196985 35.996974-17.998987 72.793947-49.195964 94.792931-80.593941 19.797985-28.197979 36.196973-65.993952 44.395967-102.990924 1.799999-7.799994 2.799998-24.997982 2.799998-48.995965 0-33.997975-0.6-38.796972-5.799996-58.995956-9.998993-38.795972-25.997981-71.993947-48.395964-100.190927l-10.198993-12.799991 4.399997-17.597987c26.79698-102.790925-16.798988-217.181841-105.391923-276.576797-30.996977-20.598985-58.194957-31.997977-95.59193-40.196971-22.397984-4.999996-70.993948-5.799996-91.991932-1.799998-12.399991 2.399998-12.99999 2.399998-15.799989-1.599999-4.598997-7.199995-34.795975-31.596977-52.794961-42.995969C548.196973 9.598993 486.603019-4.199997 431.207059 2.199998z m45.395967 67.793951c25.197982 2.399998 40.39697 6.399995 61.394955 16.198988 16.797988 7.799994 41.995969 23.397983 41.995969 25.997981 0 0.799999-45.595967 27.79798-101.390926 59.794956-55.995959 32.196976-104.591923 60.794955-108.19092 63.394954-14.799989 10.998992-14.399989 8.399994-14.59999 97.591928-0.2 43.995968-0.999999 110.389919-1.599998 147.387892l-1.199 67.393951-42.596968-24.397982-42.595969-24.397982 0.599999-134.988902c0.799999-154.386887 0.2-147.987892 19.597986-187.383862 29.797978-60.395956 86.792936-100.191927 151.987889-106.591922 8.199994-0.799999 15.398989-1.599999 15.998988-1.599999 0.6-0.2 9.798993 0.6 20.597985 1.599999z m268.977803 82.992939c73.393946 15.399989 132.189903 74.193946 147.387892 147.987892 3.599997 16.998988 4.599997 62.394954 1.599999 67.79495-1.199999 2.399998-22.797983-9.399993-108.590921-59.394957-105.391923-61.394955-107.191921-62.394954-117.989913-62.394954-10.799992 0-13.19999 1.399999-137.989899 73.593946l-126.989907 73.393946-0.599-49.395963c-0.2-27.19798 0.2-49.995963 1-50.795963 3.799997-3.599997 209.182847-121.189911 223.581836-127.989906 35.796974-16.797988 77.992943-21.397984 118.589913-12.798991z m-537.955606 362.369735c3.199998 4.599997 37.596972 25.398981 130.389904 78.993942 69.393949 39.796971 125.988908 72.993947 125.988908 73.593946 0 0.6-5.599996 4.199997-12.598991 8.199994-6.799995 3.799997-25.997981 14.797989-42.596968 24.397982l-30.196978 17.597987-107.790921-62.194954c-59.194957-34.196975-114.589916-67.393951-122.78991-73.793946-29.397978-22.597983-56.395959-63.793953-66.194952-101.190926-6.199995-24.197982-7.199995-60.794955-2.199998-84.992938 7.599994-36.996973 23.397983-66.994951 49.195964-93.792931 17.398987-17.997987 33.197976-29.396978 55.195959-40.195971l16.997988-8.199994 0.999999 127.589907 0.999999 127.589906 4.599997 6.398996zM750.379825 367.169731c56.394959 32.596976 108.389921 62.994954 115.589916 67.593951 43.396968 28.597979 73.593946 75.793944 81.99294 127.989906 3.599997 21.597984 1.599999 61.994955-3.999997 80.992941-8.998993 31.397977-24.996982 58.995957-47.594966 82.593939-17.598987 18.397987-48.195965 38.995971-65.794951 44.395967l-4.599997 1.399999v-124.189909c0-138.188899 0.4-133.389902-13.59899-143.387895-4.399997-2.999998-62.393954-37.196973-128.988906-75.593944-66.594951-38.596972-121.189911-70.393948-121.189911-70.993948-0.2-0.799999 83.592939-49.795964 85.192938-49.995964 0.4 0 46.595966 26.597981 102.991924 59.194957z m-181.385867 50.195963l54.99596 31.596977v127.989906l-55.19596 31.596977-55.194959 31.797977-39.196971-22.598983c-21.797984-12.398991-46.795966-26.99698-55.994959-32.196977l-16.398988-9.799993 0.399999-63.393953 0.6-63.394954 53.99496-31.396977c29.797978-17.198987 54.79596-31.397977 55.59596-31.397977 0.799999-0.2 26.197981 13.99999 56.394958 31.197977z m147.587892 85.592938l41.39697 23.797982v127.389907c0 139.787898-0.4 146.187893-11.999991 178.384869-11.597992 31.796977-36.595973 65.394952-64.593953 86.592937-6.799995 5.199996-21.397984 13.79899-32.396976 18.997986-51.995962 24.997982-109.59092 25.597981-162.586881 1.799999-12.598991-5.799996-40.39697-23.397983-40.396971-25.797982 0-0.6 46.996966-28.196979 104.191924-61.194955 57.394958-32.996976 107.190921-62.794954 110.789919-66.193951 3.799997-3.799997 7.399995-9.999993 8.799993-15.399989 1.599999-6.398995 2.199998-50.994963 2.199999-151.386889 0-78.392943 0.799999-141.987896 1.599999-141.587896 0.799999 0.2 20.197985 11.398992 42.995968 24.597982zM622.590919 732.139464c-3.799997 3.599997-205.38285 119.189913-221.781838 126.989907-26.597981 12.798991-47.995965 17.397987-79.792941 17.397987-19.798985 0-30.197978-0.999999-43.596968-4.199997-68.59395-16.997988-120.589912-66.193952-140.587897-133.787902-5.599996-18.798986-8.599994-57.395958-5.999996-75.193945l1.399999-9.199993 50.395963 29.197979c174.185872 100.391926 165.185879 95.59193 176.185871 95.591929 9.598993-0.2 16.597988-3.799997 137.1879-73.393946l126.989907-73.393946 0.599999 49.395964c0.2 26.99798-0.2 49.795964-0.999999 50.595963z" p-id="2834"></path></svg>',
                "link": "%s/frontend/startchat/chat" % request.host_url.strip('/')
            },
            {
                "icon": '<svg t="1680839424970" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="6272" width="200" height="200"><path d="M512.192 0.704C230.848 0.704 0.704 230.848 0.704 512.192s230.144 511.488 511.488 511.488c281.28 0 511.488-230.208 511.488-511.488C1023.68 230.848 793.472 0.704 512.192 0.704z m0 959.04c-249.344 0-447.552-198.208-447.552-447.552 0-249.344 198.208-447.552 447.552-447.552 249.408 0 447.552 198.208 447.552 447.552 0 249.344-198.144 447.552-447.552 447.552z" fill="" p-id="6273"></path><path d="M576.896 598.848h173.888V526.08H576.896v-51.776c0-24.064 2.24-41.792 6.72-53.184 1.728-4.544 2.624-8.896 2.624-12.992s-6.208-6.08-18.816-6.08h-79.232V716.8H401.6V545.728c0-23.552 2.24-41.088 6.72-52.352 2.304-5.44 3.392-10.112 3.392-14.016 0-3.84-5.824-5.76-17.6-5.76h-77.824v243.2h-100.16v75.008H802.88V716.8H576.896V598.848z m-14.208-382.784c2.624-2.752 6.528-5.696 11.52-8.896 5.056-3.136 7.424-6.784 7.424-10.88 0-3.2-1.728-5.696-5.376-7.488-3.648-1.856-36.608-10.688-98.88-26.624-47.36 123.584-145.728 211.456-295.04 263.744 17.6 14.528 38.72 37.44 63.552 68.8 123.648-61.376 213.632-132.416 270.08-213.312 58.688 87.232 146.176 157.888 262.656 211.968 23.36-36.8 44.48-65.856 63.488-87.232-61.376-14.976-116.224-39.168-164.992-72.512-48.896-33.472-86.976-72.64-114.432-117.568z" fill="" p-id="6274"></path></svg>',
                "link": "%s/frontend/ai_hub/model_market/model_visual" % request.host_url.strip('/')
            },
            {
                "text": __("文档"),
                "icon": '<svg t="1663658395713" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4531" width="64" height="64"><path d="M808.35715 213.332736c-164.707272-164.709319-432.683537-164.709319-597.333504 0-164.709319 164.649967-164.709319 432.624185 0 597.333504 164.649967 164.709319 432.626231 164.709319 597.333504 0C973.067492 645.956921 973.067492 377.982704 808.35715 213.332736zM765.48983 767.767198c-141.075039 141.077086-370.609783 141.077086-511.627517 0-141.078109-141.017734-141.078109-370.520755 0-511.596817 141.017734-141.017734 370.552477-141.077086 511.627517 0C906.506541 397.188114 906.506541 626.750487 765.48983 767.767198z" p-id="4532" fill="#3273f1"></path><path d="M500.686838 686.040848c-20.432355 0.061398-37.063127 16.692171-37.063127 37.095873 0 20.458961 16.630772 37.090756 37.092803 37.090756 20.432355 0 37.066197-16.631796 37.066197-37.151132C537.781688 702.672644 521.147846 686.040848 500.686838 686.040848z" p-id="4533" fill="#3273f1"></path><path d="M505.832022 265.144776c-72.362075 0-136.290059 41.640376-158.933779 103.683431-5.26491 14.508435-9.813506 38.620599-5.26491 58.753125 3.048429 13.81975 17.709337 22.974247 31.320333 19.863397 14.117532-3.171226 23.0029-17.23043 19.832697-31.290657-1.556449-7.210215-0.060375-20.132526 3.350304-29.435403 12.533454-34.342156 51.27378-69.043493 109.60735-69.043493 68.681242 0 116.635417 35.091216 116.635417 85.375459 0 37.572734-23.302729 51.1561-64.525596 72.034617-37.303604 18.847254-83.761706 42.241057-83.761706 101.289917L474.092134 629.981065c0 14.478759 11.784394 26.2652 26.204825 26.2652 14.449084 0 26.235524-11.786441 26.235524-26.2652l0-53.606919c0.060375-25.605168 18.936281-36.317137 55.042617-54.504358 41.6107-20.968567 93.421716-47.025013 93.421716-118.820176C674.997839 321.862545 605.418135 265.144776 505.832022 265.144776z" p-id="4534" fill="#3273f1"></path></svg>',
                "link": conf.get('DOCUMENTATION_URL', 'https://github.com/tencentmusic/cube-studio/wiki')
            },
            {
                "icon": '<svg t="1667208826607" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2544" width="64" height="64"><path d="M946.704566 523.521404c-7.757684-4.228301-17.560958-6.198166-30.852682-6.198166l-101.187587 0L814.664298 364.109742l85.525885-85.525885c6.120394-6.120394 14.257725-15.764032 14.257725-28.798906s-8.136308-22.678512-14.256702-28.797883c-7.404644-7.405667-15.780405-14.257725-26.832112-14.257725-11.050684 0-19.425422 6.852058-26.831089 14.257725l-85.525885 85.526909L302.644855 306.513976 217.118969 220.986043c-7.513114-7.513114-15.136745-14.257725-25.753547-14.257725-10.617825 0-18.240433 6.743588-25.753547 14.257725-6.898107 6.897084-14.256702 15.189957-14.256702 26.333762s7.358595 19.436678 14.256702 26.334785l85.526909 85.526909 0 156.351977-101.187587 0c-45.176922 0-48.688909 30.187533-48.688909 39.439244 0 11.543917 4.744048 38.395472 48.688909 38.395472l101.515045 0c2.040473 48.502667 13.470803 100.372012 30.578436 138.500401l-98.322329 110.534466-0.205685 0.23536c-18.582217 21.766746-18.540262 45.980217 0.109494 63.190181l0.462534 0.409322c9.954723 8.469905 15.636119 9.355065 26.227338 9.355065l0.192382 0c12.818957 0 25.266453-6.14086 35.994796-17.758456l85.244476-96.387257c26.178219 21.829168 92.261287 68.590168 177.956018 68.590168l15.349593 0L525.053294 403.815045l15.443737 0 0 466.222397 15.349593 0c74.453712 0 143.739728-43.435255 170.071444-62.098313l93.437066 92.929506c8.67559 9.286504 21.198811 14.603603 34.426067 14.603603 1.143033 0 2.199085 0.031722 3.189645 0.059352 7.123234 0.203638 16.853853 0.474814 26.76969-10.162454 9.119705-9.222035 11.04352-18.653849 11.04352-24.965601 0-15.264659-10.741645-27.739784-18.777669-35.752272l-100.250238-100.769055c18.494213-37.081547 35.811624-93.978395 38.534642-151.111626l101.558024 0c13.285584 0 23.110347-2.003634 30.91715-6.307659 11.460006-6.315846 17.770735-17.500583 17.770735-31.491225C964.538747 540.959565 958.205505 529.789155 946.704566 523.521404zM931.949514 559.579645c-2.064009 1.136893-6.531763 2.493797-16.09763 2.493797L783.964088 562.073442l0 15.349593c0 61.841463-20.957311 127.190821-40.430828 161.738661l-5.705955 10.124592 116.461455 117.062136c9.324366 9.29776 9.797134 13.340843 9.797134 14.056134 0 1.12666-1.728364 2.937912-2.258437 3.465938l-0.471744 0.49221c-0.204661 0.223081-0.37453 0.394996-0.509606 0.524956-0.781806 0.023536-2.032286-0.014326-3.00852-0.040932-1.258667-0.035816-2.602268-0.071631-4.055362-0.071631-4.716418 0-9.230222-1.850138-12.072967-4.947685L728.436424 767.144004l-10.706853 8.632611c-0.73985 0.595564-70.215178 55.93187-146.531308 62.854537L571.198264 373.115859l-76.842109 0 0 465.633996c-43.455721-3.318582-80.450287-20.041452-104.807021-34.30941-29.958312-17.547655-48.057529-35.407418-48.221258-35.5691l-11.540847-11.545964L223.844138 877.122815c-4.596691 4.940522-9.450233 7.772011-13.33368 7.772011l-0.193405 0c-1.415232 0-2.984984 0-3.824095-0.053212-0.370437-0.251733-1.067308-0.76748-2.276856-1.786693-3.01159-2.793626-7.992021-7.953136 2.558265-20.37505l111.924115-125.82573-4.726651-9.327436c-14.823614-29.252231-32.133861-85.959767-32.133861-149.507082l0-15.349593L149.951197 562.67003c-9.783831 0-14.128789-1.660826-15.847943-2.651386-1.101077-0.633427-2.140757-1.232061-2.140757-5.045923 0-3.054569 0-8.740058 17.989723-8.740058l131.886773 0L281.838993 346.465896 187.320293 251.948219c-2.122337-2.122337-3.450589-3.612271-4.27742-4.627391 0.826831-1.01512 2.155083-2.505054 4.27742-4.626367 1.76111-1.76111 3.072989-2.990101 4.045129-3.845585 0.972141 0.855484 2.284019 2.084475 4.046153 3.845585l94.517677 94.5187 483.788471 0 94.517677-94.5187c2.478448-2.477424 4.108574-3.849678 5.123694-4.604878 1.01512 0.754177 2.64627 2.12643 5.123694 4.604878 4.91494 4.913916 5.26184 7.073092 5.265934 7.073092-0.002047 0.020466-0.335644 2.177596-5.265934 7.108908l-94.517677 94.517677 0 196.628286 131.886773 0c9.636474 0 14.107299 1.334391 16.162098 2.453888 1.020236 0.555655 1.826602 0.995677 1.826602 4.496407C933.839561 558.537919 933.005566 558.997384 931.949514 559.579645z" p-id="2545"></path><path d="M714.75789 253.198699c0-48.649-18.896372-94.337575-53.207829-128.649032-34.311457-34.31248-80.001055-53.208852-128.650055-53.208852-48.649 0-94.336552 18.896372-128.649032 53.208852-34.311457 34.311457-53.207829 80.000032-53.207829 128.649032l0 15.349593 363.714745 0L714.75789 253.198699zM382.51595 237.849106c7.713682-76.169797 72.214718-135.809105 150.384056-135.809105s142.671397 59.639309 150.385079 135.809105L382.51595 237.849106z" p-id="2546"></path></svg>',
                "link": conf.get('BUG_REPORT_URL', '') if conf.get('BUG_REPORT_URL','') else "https://github.com/tencentmusic/cube-studio/issues/new"
            },
            {
                "text": '',
                "icon": '<svg t="1663658292626" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2369" width="64" height="64"><path d="M511.6 76.3C264.3 76.2 64 276.4 64 523.5 64 718.9 189.3 885 363.8 946c23.5 5.9 19.9-10.8 19.9-22.2v-77.5c-135.7 15.9-141.2-73.9-150.3-88.9C215 726 171.5 718 184.5 703c30.9-15.9 62.4 4 98.9 57.9 26.4 39.1 77.9 32.5 104 26 5.7-23.5 17.9-44.5 34.7-60.8-140.6-25.2-199.2-111-199.2-213 0-49.5 16.3-95 48.3-131.7-20.4-60.5 1.9-112.3 4.9-120 58.1-5.2 118.5 41.6 123.2 45.3 33-8.9 70.7-13.6 112.9-13.6 42.4 0 80.2 4.9 113.5 13.9 11.3-8.6 67.3-48.8 121.3-43.9 2.9 7.7 24.7 58.3 5.5 118 32.4 36.8 48.9 82.7 48.9 132.3 0 102.2-59 188.1-200 212.9 23.5 23.2 38.1 55.4 38.1 91v112.5c0.8 9 0 17.9 15 17.9 177.1-59.7 304.6-227 304.6-424.1 0-247.2-200.4-447.3-447.5-447.3z" p-id="2370" fill="#3273f1"></path></svg>',
                "link": "https://github.com/tencentmusic/cube-studio"
            }
        ]
        # data = data if conf.get('BABEL_DEFAULT_LOCALE', 'zh') == 'zh' else []
        data = conf.get('NAVBAR_RIGHT',[]) if conf.get('NAVBAR_RIGHT',[]) else data
        # 返回模板
        return jsonify(data)

    @expose('/menu')
    def menu(self):

        # 项目空间
        projetc = {
            "name": 'group',
            "title": __('项目空间'),
            "isExpand": False,
            "isMenu": True,
            "icon": '<svg t="1646706317746" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2888" width="128" height="128"><path d="M616.8 499.52c44.34-32.41 73.31-84.65 73.31-143.65 0-98.15-79.86-178.01-178.02-178.01s-178.02 79.85-178.02 178.01c0 59 28.98 111.25 73.32 143.66-114.84 42.7-197.02 153.08-197.02 282.59v64.27h603.42v-64.27c0.02-129.52-82.16-239.91-196.99-282.6zM512.1 238.55c64.7 0 117.33 52.63 117.33 117.32 0 64.7-52.63 117.33-117.33 117.33s-117.33-52.63-117.33-117.33c0-64.69 52.63-117.32 117.33-117.32zM753.13 785.7H271.07v-3.59c0-132.9 108.14-241.03 241.06-241.03 132.89 0 241 108.13 241 241.03v3.59z" fill="#666666" p-id="2889"></path><path d="M348.64 502.43c0-1.04-0.2-2.02-0.3-3.03 0.09-0.95 0.29-1.86 0.29-2.83 0-16.76-13.58-30.34-30.34-30.34-49.54 0-89.84-40.3-89.84-89.84 0-49.53 40.3-89.83 89.84-89.83 16.76 0 30.34-13.58 30.34-30.34s-13.58-30.34-30.34-30.34c-82.99 0-150.52 67.52-150.52 150.51 0 46.16 20.93 87.5 53.76 115.13C130.92 529.5 67.1 619.05 67.1 723.26v27.61c0 16.76 13.58 30.34 30.34 30.34s30.34-13.58 30.34-30.34v-27.61c0-105.04 85.46-190.49 190.52-190.49 16.76 0 30.34-13.58 30.34-30.34zM802.68 491.53c32.83-27.63 53.76-68.97 53.76-115.13 0-82.99-67.53-150.51-150.52-150.51-16.76 0-30.34 13.58-30.34 30.34s13.58 30.34 30.34 30.34c49.54 0 89.84 40.3 89.84 89.83 0 49.54-40.3 89.84-89.84 89.84-16.76 0-30.34 13.58-30.34 30.34 0 0.97 0.2 1.89 0.29 2.83-0.1 1.01-0.3 1.99-0.3 3.03 0 16.76 13.58 30.34 30.34 30.34 105.06 0 190.52 85.45 190.52 190.49v27.61c0 16.76 13.58 30.34 30.34 30.34 16.76 0 30.34-13.58 30.34-30.34v-27.61c-0.01-104.22-63.84-193.77-154.43-231.74z" fill="#666666" p-id="2890"></path></svg>',
            "children": [
                {
                    "name": 'project_group',
                    "title": __('项目组'),
                    "isMenu": True,
                    "isExpand": True,
                    "children": [
                        {
                            "name": 'org_group',
                            "title": __('项目分组'),
                            "icon": '<svg t="1646706714564" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3885" width="128" height="128"><path d="M323.072 660.48c-86.016 0-155.648-69.632-155.648-155.648 0-86.016 69.632-155.648 155.648-155.648s155.648 69.632 155.648 155.648c0 86.016-69.632 155.648-155.648 155.648z m0-260.096c-57.344 0-104.448 47.104-104.448 104.448S265.728 609.28 323.072 609.28s104.448-47.104 104.448-104.448-47.104-104.448-104.448-104.448z" p-id="3886"></path><path d="M80 920c-13.44 0-24-10.56-24-24 0-155.52 126.24-281.76 281.76-281.76 70.08 0 137.76 25.92 190.08 73.44 9.6 9.12 10.56 24 1.44 34.08-9.12 9.6-24 10.56-34.08 1.44-43.2-39.36-99.36-60.96-157.44-60.96-129.12 0-233.76 104.64-233.76 233.76 0 13.44-10.56 24-24 24zM695.36 651.2c-80.64 0-145.92-65.28-145.92-145.92 0-80.64 65.28-145.92 145.92-145.92s145.92 65.28 145.92 145.92c0 80.64-65.28 145.92-145.92 145.92z m0-243.84c-53.76 0-97.92 44.16-97.92 97.92S641.6 603.2 695.36 603.2s97.92-44.16 97.92-97.92-44.16-97.92-97.92-97.92z" p-id="3887"></path><path d="M956 920c-13.44 0-24-10.56-24-24 0-129.12-104.64-233.76-233.76-233.76S464.48 766.88 464.48 896c0 13.44-10.56 24-24 24s-24-10.56-24-24c0-155.52 126.24-281.76 281.76-281.76s281.76 126.24 281.76 281.76c0 13.44-10.56 24-24 24zM517.76 357.44c-80.64 0-145.92-65.28-145.92-145.92S437.12 65.6 517.76 65.6s145.92 65.28 145.92 145.92-65.28 145.92-145.92 145.92z m0-243.84C464 113.6 419.84 157.76 419.84 211.52s44.16 97.92 97.92 97.92 97.92-44.16 97.92-97.92S571.52 113.6 517.76 113.6z" p-id="3888"></path><path d="M666.112 400.384c-4.608 0-9.216-1.024-13.312-4.096-39.424-24.576-84.992-37.376-131.584-37.376-46.592 0-91.648 12.8-131.584 37.376-11.776 7.68-27.648 3.584-35.328-8.192s-3.584-27.648 8.192-35.328c47.616-29.696 102.4-45.568 158.208-45.568 55.808 0 110.592 15.872 158.208 45.568 11.776 7.68 15.872 23.04 8.192 35.328-4.096 8.192-12.288 12.288-20.992 12.288z" p-id="3889"></path></svg>',
                            "menu_type": "api",
                            "url": "/project_modelview/org/api/",
                            "model_name": "project",
                            "related": [
                                {
                                    "hidden": 1,
                                    "name": 'project_user',
                                    "title": __('组成员'),
                                    "icon": '<svg t="1646706405313" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3745" width="128" height="128"><path d="M992 512c0-12-6-24-18-30l-108-60 108-60c12 0 18-12 18-30 0-12-6-24-18-30L530 68c-12-6-24-6-30 0L50 302c-12 6-18 18-18 30s6 24 18 30l108 60-108 60c-12 6-18 18-18 30s6 24 18 30l108 60-108 60c-12 0-18 12-18 30 0 12 6 24 18 30l444 234c6 0 12 6 18 6 6 0 12 0 18-6l444-234c12-6 18-18 18-30s-6-24-18-30l-108-60 108-60c12-6 18-18 18-30zM140 332L512 140 884 332 512 530 140 332z m744 360L512 884 140 692l90-48 264 138c6 0 12 6 18 6 6 0 12 0 18-6l264-138 90 48z m-372 18L140 512l90-48 264 138c6 0 12 6 18 6 6 0 12 0 18-6l264-138 90 48L512 710z" p-id="3746"></path></svg>',
                                    "menu_type": "api",
                                    "url": "/project_user_modelview/api/",
                                }
                            ]
                        },
                        {
                            "name": 'job_template_group',
                            "title": __('模板分类'),
                            "icon": '<svg t="1646706405313" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3745" width="128" height="128"><path d="M992 512c0-12-6-24-18-30l-108-60 108-60c12 0 18-12 18-30 0-12-6-24-18-30L530 68c-12-6-24-6-30 0L50 302c-12 6-18 18-18 30s6 24 18 30l108 60-108 60c-12 6-18 18-18 30s6 24 18 30l108 60-108 60c-12 0-18 12-18 30 0 12 6 24 18 30l444 234c6 0 12 6 18 6 6 0 12 0 18-6l444-234c12-6 18-18 18-30s-6-24-18-30l-108-60 108-60c12-6 18-18 18-30zM140 332L512 140 884 332 512 530 140 332z m744 360L512 884 140 692l90-48 264 138c6 0 12 6 18 6 6 0 12 0 18-6l264-138 90 48z m-372 18L140 512l90-48 264 138c6 0 12 6 18 6 6 0 12 0 18-6l264-138 90 48L512 710z" p-id="3746"></path></svg>',
                            "menu_type": "api",
                            "url": "/project_modelview/job_template/api/",
                            "model_name": "project"
                        }
                    ]
                },
                {
                    "name": 'audit',
                    "title": __('资源审计'),
                    "isMenu": True,
                    "isExpand": True,
                    "children": [
                        {
                            "name": 'pod',
                            "title": __('计量计费'),
                            "icon": '<svg t="1704356401904" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4270" width="200" height="200"><path d="M512 61.866667C262.4 61.866667 61.866667 262.4 61.866667 512c0 249.6 202.666667 450.133333 450.133333 450.133333 249.6 0 450.133333-202.666667 450.133333-450.133333 0-249.6-200.533333-450.133333-450.133333-450.133333z m0 814.933333c-200.533333 0-364.8-164.266667-364.8-364.8 0-200.533333 164.266667-364.8 364.8-364.8S876.8 311.466667 876.8 512c0 200.533333-164.266667 364.8-364.8 364.8z" p-id="4271"></path><path d="M680.533333 492.8c23.466667 0 42.666667-19.2 42.666667-42.666667s-19.2-42.666667-42.666667-42.666666h-106.666666L661.333333 320c17.066667-17.066667 17.066667-42.666667 0-59.733333-17.066667-17.066667-42.666667-17.066667-59.733333 0l-91.733333 91.733333-91.733334-91.733333c-17.066667-17.066667-42.666667-17.066667-59.733333 0-17.066667 17.066667-17.066667 42.666667 0 59.733333l87.466667 87.466667h-102.4c-23.466667 0-42.666667 19.2-42.666667 42.666666s19.2 42.666667 42.666667 42.666667H469.333333v46.933333h-125.866666c-23.466667 0-42.666667 19.2-42.666667 42.666667s19.2 42.666667 42.666667 42.666667H469.333333v106.666666c0 23.466667 19.2 42.666667 42.666667 42.666667s42.666667-19.2 42.666667-42.666667v-106.666666h125.866666c23.466667 0 42.666667-19.2 42.666667-42.666667s-19.2-42.666667-42.666667-42.666667H554.666667v-46.933333h125.866666z" p-id="4272"></path></svg>',
                            "menu_type": "api",
                            "url": "/pod_modelview/api/",
							"disable":True
                        },
                        {
                            "name": 'approval',
                            "title": __('申请审批'),
                            "icon": '<svg t="1704356442176" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5442" width="200" height="200"><path d="M864.8 768l-59.1-100.2c-15.4 14.8-34.1 26.1-55 32.7l39.8 67.5H631.9l37.9-66.4c-21.1-6.1-40.1-16.9-55.8-31.3L558.2 768H489v64H160V128h609.4v312.9c27.6 13.4 50.1 35.5 64 62.8V64H96v832h393v64h439V768h-63.2z m-0.8 128H553v-64h311v64z" fill="#727272" p-id="5443"></path><path d="M223.1 224h481.3v64H223.1zM223.6 383.8H576v64H223.6zM222.6 544.2h290.2v64H222.6zM222.6 704h226.1v64H222.6z" fill="#B2B2B2" p-id="5444"></path><path d="M848.5 567c0 39.6-16.4 75.4-42.8 100.8-15.4 14.8-34.1 26.1-55 32.7-13.3 4.2-27.5 6.5-42.2 6.5-13.5 0-26.5-1.9-38.8-5.4-21.1-6.1-40.1-16.9-55.8-31.3-27.9-25.6-45.4-62.3-45.4-103.2 0-77.4 62.7-140 140-140 21.8 0 42.5 5 60.9 13.9 27.6 13.4 50.1 35.5 64 62.8 9.7 18.9 15.1 40.4 15.1 63.2z" fill="#5280C1" p-id="5445"></path></svg>',
                            "menu_type": "api",
                            "url": "/approval_modelview/api/",
                            "disable":True
                        }
                    ]
                }
            ]
        }
        # 数据
        data = {
                "name": 'data',
                "title": __('数据资产'),
                'hidden': 0,
                "isMenu": True,
                "icon": '<svg t="1646710165879" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="33769" width="128" height="128"><path d="M959.718832 123.963683C872.444401 50.185297 704.593576 0.299912 511.850044 0.299912S151.255687 50.185297 63.981255 123.963683C23.193205 158.453578 0 198.04198 0 240.22962v543.840672c0 132.461193 229.132871 239.929708 511.850044 239.929708s511.850044-107.468515 511.850044-239.929708v-543.840672c0-42.18764-23.193205-81.776042-63.981256-116.265937zM87.774285 189.64444c19.794201-21.893586 50.685151-43.087377 89.373816-61.182075 42.287611-19.794201 92.073025-35.489603 147.956653-46.586352C384.087474 70.17944 446.869081 64.281168 511.850044 64.281168s127.76257 5.898272 186.745289 17.594845c55.883628 11.096749 105.669042 26.792151 147.956654 46.586352 38.688665 18.094699 69.579615 39.28849 89.373816 61.182075 15.795372 17.494875 23.793029 34.489896 23.793029 50.48521 0 16.095285-7.997657 33.090306-23.793029 50.485209-19.794201 21.893586-50.685151 43.087377-89.373816 61.182075-42.287611 19.894172-92.073025 35.489603-147.956654 46.586352-58.98272 11.696573-121.864298 17.594845-186.745289 17.594845s-127.76257-5.898272-186.74529-17.594845c-55.883628-11.096749-105.669042-26.792151-147.956653-46.586352-38.688665-18.094699-69.579615-39.28849-89.373816-61.182075C71.978912 273.319926 63.981255 256.324905 63.981255 240.22962s7.997657-33.090306 23.79303-50.58518zM63.981255 356.495558c87.274431 73.778385 255.125256 123.66377 447.868789 123.66377s360.594357-49.885385 447.868788-123.66377v155.254515c0 16.095285-7.997657 33.090306-23.793029 50.48521-19.794201 21.893586-50.685151 43.087377-89.373816 61.182075-42.287611 19.794201-92.073025 35.489603-147.956654 46.586352-58.98272 11.696573-121.864298 17.594845-186.745289 17.594845s-127.76257-5.898272-186.74529-17.594845c-55.883628-11.096749-105.669042-26.792151-147.956653-46.586352-38.688665-18.094699-69.579615-39.28849-89.373816-61.182075C71.978912 544.740408 63.981255 527.745387 63.981255 511.750073V356.495558z m895.737577 427.574734c0 16.095285-7.997657 33.090306-23.793029 50.485209-19.794201 21.893586-50.685151 43.087377-89.373816 61.182076-42.287611 19.894172-92.073025 35.489603-147.956654 46.586352-58.98272 11.696573-121.864298 17.594845-186.745289 17.594845s-127.76257-5.898272-186.74529-17.594845c-55.883628-11.096749-105.669042-26.792151-147.956653-46.586352-38.688665-18.094699-69.579615-39.28849-89.373816-61.182076C71.978912 817.160597 63.981255 800.165576 63.981255 784.070292V627.91604c87.274431 73.778385 255.125256 123.66377 447.868789 123.663771s360.594357-49.885385 447.868788-123.663771v156.154252z" p-id="33770"></path><path d="M167.950796 519.847701m-39.988285 0a39.988285 39.988285 0 1 0 79.976569 0 39.988285 39.988285 0 1 0-79.976569 0Z" p-id="33771"></path><path d="M167.950796 791.768037m-39.988285 0a39.988285 39.988285 0 1 0 79.976569 0 39.988285 39.988285 0 1 0-79.976569 0Z" p-id="33772"></path></svg>',
                "children": [
                    {
                        "name": 'datasearch',
                        "title": __('数据探索'),
                        "isMenu": True,
                        "isExpand": True,
                        "children": [
                            {
                                "name": 'data_search',
                                "title": 'sqllab',
                                # "disable": True,
                                "icon": '<svg t="1649746944636" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2366" width="200" height="200"><path d="M832 960H192V64h384l256 256zM576 160v160h160z m-64 224V128H256v768h512V384z" fill="#262626" p-id="2367"></path><path d="M672 736v-160h-32v192h96v-32zM601.6 673.28c-1.6-63.04-28.16-95.68-80-97.28-52.16 1.92-79.04 34.24-80.96 97.28 0.96 58.56 24.96 89.92 71.36 94.72h0.32c3.2 0.32 14.72 0.32 17.28 0H608v-32h-25.28c12.48-16.32 18.88-37.12 18.88-62.72z m-80 68.8c-28.48 0.64-42.88-22.4-42.88-68.8 0.64-45.12 14.72-67.84 42.88-67.84 27.52 0 41.6 22.72 41.92 67.84-0.32 45.44-14.4 68.16-41.92 68.8zM352 608c13.44-0.64 28.48 11.52 32 32h32c-6.08-37.12-27.84-64-64-64-35.2 1.92-55.36 19.84-57.92 54.08-0.96 27.2 12.48 45.12 40.64 53.12 11.52 3.2 20.8 6.4 27.84 10.24 8.64 3.84 13.12 10.24 13.44 19.52-0.64 11.84-11.2 22.4-24 23.04-16.64 0-28.48-6.4-32-32H288c7.04 44.8 25.28 65.28 64 64 38.72-0.64 63.04-19.2 64-56-0.64-21.76-8.64-38.08-24.96-49.28-8.96-6.08-20.48-11.2-34.56-15.04-15.68-3.84-22.72-10.24-21.76-19.52s7.36-19.52 17.28-20.16z" fill="#262626" p-id="2368"></path></svg>',
                                "menu_type": "innerRoute",
                                "url": "{host}/frontend/dataSearch".format(host=request.host_url.strip('/'))
                            }
                        ]
                    },
                    {
                        "name": 'metadata',
                        "title": __('元数据'),
                        "isMenu": True,
                        "isExpand": True,
                        "children": [
                            {
                                "name": 'metadata_table',
                                "title": __('库表'),
                                "icon": '<svg t="1649762743051" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2547" width="200" height="200"><path d="M948.223929 540.204361c-5.326903-7.19661-12.594068-10.971303-20.990112-10.971302-8.995763 0-17.709305 4.2333-25.435078 8.007992-1.97554 0.952493-3.915803 1.904985-5.78551 2.716368-2.222483 0.98777-4.480243 1.97554-6.808557 2.610535-1.799153 0.493885-3.316085 0.740828-4.480243 0.740827-1.340545 0-3.033865 0-5.22107-6.596892-6.843835-20.566783-15.310435-41.733283-25.223413-62.970338-4.51552-9.666035-10.230475-19.04985-15.769042-28.151445-10.44214-17.180143-20.31984-33.44307-21.519276-49.635443-1.26999-17.144865 5.891343-35.524443 13.440728-54.962346 3.880525-9.912978 7.831605-20.143453 10.72436-30.444482 2.081373-7.47883 4.79774-21.483998-0.634995-31.432253l-1.164157-2.151927c-17.039033-31.220588-34.677783-63.4995-55.279843-93.344266-21.02539-30.47976-59.160368-48.647673-102.022531-48.647673-33.972233 0-64.945878 12.13546-82.866848 32.4553-8.960485 10.124643-15.698488 11.324078-20.002343 11.324078-5.92662 0-13.12323-2.53998-22.648155-7.972715-64.698935-36.864988-135.818376-67.7328-211.453336-91.756778-12.84101-4.09219-24.12981-6.06773-34.536673-6.06773-22.29538 0-40.745513 9.207428-56.479278 28.116167-4.021635 4.833018-8.819375 9.17215-13.899335 13.758225-4.127468 3.704138-8.254935 7.443553-12.029628 11.42991-28.186723 29.880043-57.114273 45.543253-91.01595 49.317946-13.652393 1.516933-29.562545 10.30103-38.628863 21.272332-45.1552 54.785958-45.966583 106.961381-2.53998 164.216764 4.480243 5.92662 9.03104 11.85324 13.934612 17.427085 40.9219 46.495745 66.3217 85.759603 82.372963 127.281221 5.538568 14.357943 15.23988 21.342888 29.597823 21.342888 1.340545 0 2.751645-0.070555 4.2333-0.176388 31.32642-2.610535 62.723395-4.93885 94.614256-7.302442l19.155682-1.4111c-0.14111 0.211665-0.246943 0.42333-0.388052 0.634995-32.243635 50.482103-41.239398 109.536638-28.222 185.841871 11.57102 67.909188 46.037138 129.856478 99.623661 179.068591 48.68295 44.696593 103.539463 67.344748 163.087883 67.344748l3.38664-0.035277c49.917663-0.740828 91.298171-23.530093 131.302856-45.613808 6.49106-3.598305 13.017398-7.161333 19.649568-10.72436 5.468013-2.998588 5.07996-8.784098 4.903572-11.218245l-0.105832-2.469425v-9.912978l-25.999518 2.187205c-11.747408 1.023048-23.42426 2.046095-35.13639 2.716368-2.8222 0.176388-5.679678 0.388053-8.537155 0.599717-4.974128 0.42333-9.948255 0.811383-14.781273 0.811383-13.722948 0-23.600648-3.10442-30.373927-18.62652-2.293038-5.22107-6.20884-9.419093-9.701313-13.087953-1.97554-2.11665-5.326903-5.6444-5.609123-6.561615 0.42333-1.799153 4.550798-6.103008 7.020223-8.678265 2.363593-2.469425 4.691908-4.974128 6.561615-7.372997l7.937438-10.371586-12.452958-3.915802c-32.31419-10.15992-39.36969-17.321253-38.346643-28.64533l37.076653 20.813725 14.39322-20.707893-4.691907-5.397457c-2.751645-3.139698-5.573845-6.244118-8.396046-9.31326-6.738003-7.372998-13.12323-14.322665-18.3443-21.977883-1.234713-1.799153-1.69332-5.432735-2.11665-9.101595 2.857478-0.740828 5.820788-1.446378 9.101595-1.446378 0.352775 0 0.670273 0 1.023048 0.035278 8.537155 3.316085 16.580425 9.348538 20.990113 15.733765 13.440728 19.402625 32.17308 30.05643 59.019257 33.513625 6.561615 0.84666 13.052675 1.904985 19.579013 2.998588 9.948255 1.622765 19.89651 3.24553 29.91532 4.127467 13.087953 1.164158 24.764805 1.763875 35.700831 1.763875 59.760085 0 102.869191-18.06208 135.606711-56.902608 37.25304-44.16743 49.564888-97.295346 56.655665-143.403038 2.716368-17.49764-1.799153-38.346643-10.971303-50.729046z m-141.356943 200.023427c-17.285975 0-34.57195-5.573845-51.328763-16.615703l-2.046095-1.340545c-27.869225-18.273745-54.150963-35.524443-70.166948-74.294415l-5.150515-12.452958-37.358873 36.088883 11.112413 18.20319s7.725773-0.458608 8.713542-0.458607c2.010818 0 3.38664 0.14111 4.303855 0.317497-0.42333 1.340545-1.446378 3.704138-3.704137 7.514108-5.044683 8.60771-10.265753 17.144865-15.698488 26.070072-1.164158-2.610535-2.222483-5.326903-3.24553-8.04327-3.10442-7.972715-6.279395-16.22765-12.347125-22.930375-24.623695-27.269508-32.631688-54.115685-25.96424-87.064871 2.610535-12.735178-12.382403-32.73752-24.870638-37.217762-22.118993-7.90216-31.396975-22.365935-31.996692-49.882386-0.388053-18.273745-1.340545-36.54749-2.363593-56.479278l-1.904985-38.911082-10.195198 1.763875c-13.68767 2.363593-27.198953 4.550798-40.569125 6.702725-30.515038 4.93885-59.336755 9.560203-88.370138 16.051262-25.435078 5.679678-50.870155 12.946843-75.423296 19.967065-16.50987 4.727185-33.01974 9.419093-49.600165 13.687671-5.326903 1.375823-10.30103 2.081373-14.851828 2.081372-13.96989 0-25.011748-6.63217-34.783615-20.919558C201.822579 422.271678 172.401144 383.113653 143.967479 345.260895L131.937851 329.174355c-15.733765-20.990113-19.47318-43.638268-11.359355-69.285011C129.962311 230.291522 143.649981 217.662177 166.368691 217.662177c6.984945 0 15.063493 1.199435 24.023978 3.563027 12.206015 3.24553 24.517863 7.372998 36.441658 11.359355 9.666035 3.24553 19.33207 6.49106 29.103937 9.31326 6.455783 1.904985 12.946843 2.469425 19.190961 3.033865 2.575258 0.211665 5.185793 0.458608 7.725772 0.776105l7.725773 0.98777 6.455782-21.942605L229.868192 189.087401c3.10442-2.857478 6.20884-5.714955 9.242705-8.501877 13.511283-12.41768 26.24646-24.165088 38.24081-36.935543 13.934613-14.851828 29.245048-22.083715 46.777965-22.083715 8.713543 0 18.097358 1.83443 27.869226 5.468012 34.71306 12.911565 65.580873 25.96424 94.40259 39.863576 24.941193 12.029628 49.917663 25.152858 74.082751 37.852757 17.427085 9.17215 34.889448 18.309023 52.457643 27.163676 39.299135 19.790678 66.286423 48.330175 82.478795 87.311813 6.879113 16.50987 16.545148 31.714473 25.928963 46.460468l6.808558 10.794915c3.10442 5.009405 7.514108 8.642988 11.394632 11.85324 1.481655 1.199435 2.96331 2.434148 4.303855 3.704137l5.50329 5.185793 16.474593-11.99435-7.725773-18.379578c-1.940263-4.65663-4.09219-9.277983-6.244117-13.899335-4.550798-9.630758-8.819375-18.76763-10.794915-28.116168-11.85324-55.950115-37.852758-95.672581-79.268543-121.142936 13.793503-18.414855 39.263858-30.691425 65.122265-30.691425 17.744583 0 33.196128 5.856065 43.532435 16.474593 19.261515 19.825955 35.947773 43.32077 52.069591 66.074758 4.727185 6.667448 9.419093 13.299618 14.216832 19.861233 7.831605 10.759638 8.537155 22.683433 2.081373 35.348055-1.058325 2.081373-1.83443 4.37441-2.53998 6.63217l-0.811383 2.504702c-5.36218 14.710718-9.912978 26.034795-13.54656 35.136391-15.839598 39.546078-15.627933 42.544665 5.6444 80.15048 4.79774 8.4666 10.72436 19.014573 17.92097 32.59641l9.8777 18.450133c6.561615 12.170738 13.087953 24.306198 19.226238 36.653323 1.375823 2.751645 2.328315 6.032453 3.24553 9.524925l-30.656148 1.97554 12.558791 32.73752H781.749406l-2.328315 22.930375 17.321252 3.174975-16.9332 28.398388 38.875805-12.382403-9.03104 27.975058 20.602061 11.782685 33.936955-61.52396c6.702725 6.06773 14.81655 10.936025 24.41203 10.936025 10.794915 0 21.483998-5.92662 35.101113-19.579013 0.317498 2.222483 0.42333 4.586075 0.14111 6.526338-7.408275 49.10628-23.56537 88.334861-49.388501 119.837668-18.76763 22.895098-42.156613 35.030558-67.59169 35.030558z m-212.546939 169.720054l-9.136873-1.516933c2.716368-0.246943 5.432735-0.42333 8.18438-0.56444 0.28222 0.634995 0.634995 1.340545 0.952493 2.081373z m-213.887484-382.655046c-1.305268-8.18438 0.176388-18.167913 1.023047-19.684845 11.676853-6.91439 26.422848-10.371585 40.886623-13.54656 1.340545 2.046095 3.10442 5.115238 4.65663 8.431323 8.678265 18.414855 17.250698 36.864988 25.787853 55.350398 17.07431 36.82971 34.71306 74.929411 53.163193 111.935508 4.762463 9.560203 11.041858 18.06208 17.92097 26.563958-69.602508-37.605815-129.715368-82.090743-143.438316-169.049782z m-14.463775 135.359769c42.826885 47.166018 98.741723 70.343336 153.280738 88.229028 5.36218 1.763875 10.195198 5.291625 11.14769 7.408275 2.575258 5.6444 3.774693 12.206015 3.139698 16.686258-1.763875 0.529163-4.586075 1.023048-7.549385 1.023047-2.151928 0-3.351363-0.28222-3.598305-0.42333-43.849933-18.520688-91.262893-39.687188-145.025804-64.663658-2.8222-1.305268-6.63217-6.385228-7.161332-9.560202-2.11665-12.629345-3.210253-25.858408-4.2333-38.699418z m69.673063 151.411031c37.746925 10.406863 73.412478 20.249285 109.571915 31.32642 2.575258 0.776105 5.997175 5.07996 9.066318 9.03104-4.09219 2.786923-8.290213 5.538568-11.535743 5.92662-6.385228 0.70555-12.629345 1.058325-18.732352 1.058325-43.779378 0-79.303821-17.77986-103.927516-51.64626l15.557378 4.303855z" fill="#333333" p-id="2548"></path><path d="M772.012816 283.560547l-2.610535-7.267165c-1.375823-3.915803-2.716368-7.866883-4.056913-11.817963-7.972715-23.70648-16.22765-48.189065-38.593585-65.89837l-5.256348-4.162745-19.437902 13.158508 48.82406 87.840975 21.131223-11.85324zM723.929583 449.117856c-33.01974 0-50.552658 13.652393-56.937886 44.202708l-3.880525 18.555965 114.193269-57.361216-29.880043-3.739415c-8.960485-1.12888-16.65098-1.658043-23.494815-1.658042zM526.940021 274.564785c-13.617115 0-27.975058 2.293038-42.61522 6.808557l-32.913908 10.124643 94.684811 21.201777c-2.151928 1.340545-40.49857 24.870638-40.49857 24.870638l35.206945-1.55221 3.704137-0.105833c31.32642 0 51.22293 17.321253 74.999966 47.307128l16.121818-7.443552c-12.27657-63.323113-52.91625-101.211148-108.689979-101.211148zM720.71933 509.371826c-8.572433 0.035278-15.839598 5.150515-22.260102 9.701313-2.25776 1.587488-4.550798 3.210253-6.808558 4.51552l-9.101595 5.150515 17.144865 22.612878-14.39322 18.379577h18.76763l17.77986 0.211665c3.316085 0 6.420505-0.105833 9.560203-0.352775 15.769043-1.234713 25.54091-5.856065 29.880043-14.146277 4.162745-7.937438 2.751645-17.744583-4.303855-29.915321-6.808558-11.782685-25.752575-16.157095-36.265271-16.157095z" fill="#333333" p-id="2549"></path></svg>',
                                "menu_type": "api",
                                "url": "/metadata_table_modelview/api/"
                            },
                            {
                                "name": 'data_blood',
                                "title": '数据血缘',
                                "icon": '<svg t="1709174610633" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5111" width="200" height="200"><path d="M973.5 198.7c0-80.1-64.9-145-145-145s-145 64.9-145 145c0 57.5 33.5 107.2 82 130.6-1-0.5-2-1-2.9-1.5l-65.6 139c-1.5 0-3-0.1-4.5-0.1-27.4 0-53.1 7.6-74.9 20.8L464.3 348.9c5.3-15.1 8.2-31.3 8.2-48.2 0-80.1-64.9-145-145-145s-145 64.9-145 145c0 57.1 33.1 106.5 81.1 130.2l-61.4 249.6c-2.2-0.1-4.4-0.2-6.6-0.2-80.1 0-145 64.9-145 145s64.9 145 145 145 145-64.9 145-145c0-60.5-37-112.3-89.6-134l60.7-246.5c5.2 0.6 10.5 0.9 15.9 0.9 44.8 0 84.9-20.3 111.5-52.3l140.7 127.2c-20.1 24.9-32.1 56.5-32.1 91 0 80.1 64.9 145 145 145s145-64.9 145-145c0-60.7-37.3-112.7-90.2-134.3l63.6-134.8c5.8 0.7 11.7 1.1 17.6 1.1 79.9 0.1 144.8-64.8 144.8-144.9z m-683 626.6c0 52.4-42.6 95-95 95s-95-42.6-95-95 42.6-95 95-95 95 42.6 95 95z m-54.2-139.2h0.1c0 0.1 0 0.1-0.1 0z m-31.3-5.5h0.4c-0.1 0.1-0.2 0-0.4 0z m3.3 0.3h0.5-0.5z m3.3 0.3h0.4-0.4z m15.7 2.6z m2.8 0.7c0.1 0 0.2 0.1 0.3 0.1 0-0.1-0.2-0.1-0.3-0.1z m3.1 0.8c0.1 0 0.2 0.1 0.4 0.1-0.2-0.1-0.3-0.1-0.4-0.1z m62.6-243.1c0.1 0 0.1 0 0 0 0.1 0 0.1 0 0 0z m-29.6-10.1c0.1 0 0.1 0.1 0.2 0.1 0 0-0.1 0-0.2-0.1z m2.9 1.3c0.1 0 0.1 0.1 0.2 0.1-0.1 0-0.2 0-0.2-0.1z m17.6 6.5z m2.9 0.8c0.1 0 0.2 0 0.3 0.1-0.1-0.1-0.2-0.1-0.3-0.1z m3.1 0.8c0.1 0 0.2 0 0.3 0.1-0.2-0.1-0.3-0.1-0.3-0.1z m34.8-45.8c-52.4 0-95-42.6-95-95s42.6-95 95-95 95 42.6 95 95-42.6 95-95 95z m113.5-4.9l-0.3 0.3c0.1 0 0.2-0.1 0.3-0.3z m9.3-13.1c-0.1 0.1-0.1 0.2-0.2 0.3 0.1-0.1 0.2-0.2 0.2-0.3z m-1.7 2.6c-0.1 0.1-0.2 0.3-0.3 0.4 0.2-0.1 0.3-0.2 0.3-0.4z m-1.7 2.7c-0.1 0.2-0.2 0.3-0.4 0.5 0.1-0.2 0.2-0.4 0.4-0.5z m-1.9 2.6c-0.1 0.2-0.3 0.4-0.4 0.5 0.1-0.1 0.3-0.3 0.4-0.5z m-2 2.6c-0.1 0.2-0.2 0.3-0.4 0.5 0.2-0.1 0.3-0.3 0.4-0.5z m172.6 100.5l-0.9 0.6 0.9-0.6z m-2.7 1.7c-0.3 0.2-0.7 0.4-1 0.7 0.4-0.2 0.7-0.4 1-0.7z m-2.7 1.9c-0.3 0.2-0.7 0.5-1 0.7 0.4-0.3 0.7-0.5 1-0.7z m-2.7 1.9c-0.3 0.2-0.6 0.4-0.9 0.7 0.3-0.3 0.6-0.5 0.9-0.7z m-2.7 2c-0.3 0.2-0.5 0.4-0.8 0.6 0.3-0.2 0.6-0.4 0.8-0.6z m-2.6 2c-0.2 0.2-0.4 0.4-0.7 0.5 0.3-0.1 0.5-0.3 0.7-0.5z m-2.6 2.1c-0.1 0.1-0.3 0.2-0.4 0.4 0.1-0.2 0.3-0.3 0.4-0.4z m-18 17.9z m205.9 93.5c0 52.4-42.6 95-95 95s-95-42.6-95-95 42.6-95 95-95 95 42.6 95 95z m-64.6-141.8h0.2-0.2z m-9.8-1.7h0z m3.2 0.4c0.2 0 0.3 0.1 0.5 0.1-0.2 0-0.3 0-0.5-0.1z m3.3 0.6c0.1 0 0.3 0.1 0.4 0.1-0.2 0-0.3-0.1-0.4-0.1z m13.9-270.5c0-52.4 42.6-95 95-95s95 42.6 95 95-42.6 95-95 95-95-42.6-95-95z m74 143.5c0.2 0 0.3 0 0.5 0.1-0.2-0.1-0.4-0.1-0.5-0.1z m-40.9-12.4l1.8 0.9-1.8-0.9z m3.2 1.5c0.6 0.2 1.1 0.5 1.7 0.7-0.6-0.2-1.1-0.4-1.7-0.7z m3.2 1.4c0.5 0.2 1 0.4 1.6 0.6-0.6-0.2-1.1-0.4-1.6-0.6z m3.1 1.2l1.5 0.6-1.5-0.6z m3.2 1.2c0.4 0.2 0.9 0.3 1.3 0.5-0.4-0.2-0.8-0.3-1.3-0.5z m3.2 1.1c0.4 0.1 0.7 0.2 1.1 0.4-0.3-0.1-0.7-0.2-1.1-0.4z m3.2 1.1c0.1 0 0.1 0 0.2 0.1 0-0.1-0.1-0.1-0.2-0.1z m9 2.4c0.1 0 0.2 0.1 0.4 0.1-0.2 0-0.3-0.1-0.4-0.1z m3 0.7c0.2 0 0.4 0.1 0.6 0.1-0.2 0-0.4-0.1-0.6-0.1z m3.2 0.6c0.2 0 0.5 0.1 0.7 0.1-0.3 0-0.5 0-0.7-0.1z m3.2 0.6c0.2 0 0.4 0.1 0.6 0.1-0.2 0-0.4 0-0.6-0.1z" fill="" p-id="5112"></path></svg>',
                                "menu_type": "api",
                                "disable": True,
                                "url": "/metadata_table_modelview/api/"
                            },
                            {
                                "name": 'metadata_metric',
                                "title": __('指标'),
                                "icon": '<svg t="1650360886140" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="6048" width="200" height="200"><path d="M896 311.466667h-81.066667V42.666667c0-25.6-17.066667-42.666667-42.666666-42.666667H42.666667C17.066667 0 0 17.066667 0 42.666667v938.666666c0 25.6 17.066667 42.666667 42.666667 42.666667h853.333333c72.533333 0 128-55.466667 128-128V439.466667c0-68.266667-55.466667-128-128-128zM85.333333 85.333333h644.266667v810.666667c0 17.066667 4.266667 29.866667 8.533333 42.666667H85.333333V85.333333z m853.333334 810.666667c0 25.6-17.066667 42.666667-42.666667 42.666667h-34.133333c-25.6 0-42.666667-17.066667-42.666667-42.666667V396.8H896c25.6 0 42.666667 17.066667 42.666667 42.666667V896z" p-id="6049"></path><path d="M614.4 371.2H196.266667c-25.6 0-42.666667-17.066667-42.666667-42.666667s17.066667-42.666667 42.666667-42.666666h418.133333c25.6 0 42.666667 17.066667 42.666667 42.666666s-17.066667 42.666667-42.666667 42.666667zM614.4 571.733333H196.266667c-25.6 0-42.666667-17.066667-42.666667-42.666666s17.066667-42.666667 42.666667-42.666667h418.133333c25.6 0 42.666667 17.066667 42.666667 42.666667s-17.066667 42.666667-42.666667 42.666666zM375.466667 768H196.266667c-25.6 0-42.666667-17.066667-42.666667-42.666667s17.066667-42.666667 42.666667-42.666666h174.933333c25.6 0 42.666667 17.066667 42.666667 42.666666s-17.066667 42.666667-38.4 42.666667z" p-id="6050"></path></svg>',
                                "menu_type": "api",
                                "url": "/metadata_metric_modelview/api/"
                            },
                            {
                                "name": 'metadata_dimension',
                                "title": __('维表'),
                                # "disable":True,
                                "icon": '<svg t="1646714682203" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="43468" width="128" height="128"><path d="M815.542857 212.943238l118.296381 68.266667v168.033524l-201.532952 116.345904-0.487619-163.352381-125.366857-72.46019 209.091047-116.833524z m-89.673143-51.736381L519.314286 279.454476 305.785905 156.233143 511.561143 37.449143l214.308571 123.757714zM294.619429 887.466667L89.234286 768.877714V546.133333l205.677714 118.00381-0.292571 223.329524z m85.333333 49.249523l-0.097524-223.914666 133.607619 76.653714 132.632381-76.604952-1.024 222.744381-133.558857 77.043809-131.510857-75.922286zM434.468571 328.021333L295.253333 407.747048l-0.195047 156.672L89.234286 444.318476V281.258667l132.047238-76.263619 213.089524 123.026285z m86.113524 49.737143l126.780953 73.191619-0.780191 164.08381-133.12 76.897524-133.656381-78.019048-0.097524-157.403429 140.921905-78.750476z m413.257143 169.008762v222.110476l-200.655238 115.809524-0.633905-221.769143 201.289143-116.150857z" fill="#64676F" p-id="43469"></path></svg>',
                                "menu_type": "api",
                                "url": "/dimension_table_modelview/api/"
                            },
                        ]
                    },
                    # {
                    #     "name": 'feast',
                    #     "title": '特征平台',
                    #     "isMenu": True,
                    #     "isExpand": True,
                    #     "children": [
                    #         {
                    #             "name": 'feast',
                    #             "title": '特征平台（企业版）',
                    #             "icon": '<svg t="1658320572989" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4843" width="200" height="200"><path d="M959.063415 831.188293c0 17.655758-14.313022 31.96878-31.968781 31.96878H95.906341c-17.655758 0-31.96878-14.313022-31.96878-31.96878V191.812683c0-17.655758 14.313022-31.96878 31.96878-31.968781h831.188293c17.655758 0 31.96878 14.313022 31.968781 31.968781v639.37561z m-71.929756-447.562927H135.867317v407.601951h751.266342V383.625366z m-603.127009 60.225186l146.934509 146.934509a7.992195 7.992195 0 0 1 0 11.302962l-39.205713 39.206713-0.007992 0.006993-107.720804 107.720804a7.992195 7.992195 0 0 1-11.301963 0l-33.908886-33.906888a7.992195 7.992195 0 0 1 0-11.302962l107.375141-107.375142-107.375141-107.375141a7.992195 7.992195 0 0 1 0-11.303961l33.908886-33.906888a7.992195 7.992195 0 0 1 11.301963 0zM823.196098 575.438049a7.992195 7.992195 0 0 1 7.992195 7.992195v47.953171a7.992195 7.992195 0 0 1-7.992195 7.992195H583.430244a7.992195 7.992195 0 0 1-7.992195-7.992195v-47.953171a7.992195 7.992195 0 0 1 7.992195-7.992195h239.765854z m63.937561-343.66439H135.867317v87.914146h751.266342v-87.914146z" p-id="4844"></path></svg>',
                    #             "menu_type": "api",
                    #             "disable": True,
                    #             "url": "/feast_modelview/api/"
                    #         }
                    #     ]
                    # },
                    {
                        "name": 'media_data',
                        "title": __('媒体数据'),
                        "isMenu": True,
                        "isExpand": True,
                        "children": [
                            {
                                "name": 'dataset',
                                "title": __('数据集'),
                                "icon": '<svg t="1658320455412" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2287" width="200" height="200"><path d="M685.6 444l171.7 68.7-354.8 141.9-337.2-141.9 175-73.7-37.3-17-208.6 90.7 408.1 177.4 425.8-177.4-201.7-84-41 15.3z m0 230.7l171.7 68.7-354.8 141.9-337.2-141.9 175-73.7-37.4-17-208.5 90.7 408.1 177.4 425.8-177.4-201.7-84-41 15.3zM928.3 282L502.5 104.6 94.4 282l408.1 177.4L928.3 282z m-763 0l337.1-141.9L857.3 282 502.5 424 165.3 282z m586.1 17.8V282L503 388.5 254.5 282v17.7L503 406.2l248.4-106.4z" fill="" p-id="2288"></path></svg>',
                                "menu_type": "api",
                                "url": "/dataset_modelview/api/"
                            },
                            {
                                "name": 'label_platform',
                                "title": __('标注平台'),
                                "icon": '<svg t="1658320508784" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3263" width="200" height="200"><path d="M875.65 912h-380a36 36 0 0 1 0-72h380a36 36 0 1 1 0 72zM812.26 284.82L285.39 811.69l-88.11 15.1L212 738l526.72-526.72 73.54 73.54m90.51-11.31L750 120.77a16 16 0 0 0-22.62 0L152.5 695.68a34.11 34.11 0 0 0-9.5 18.56l-25.95 156.23a32 32 0 0 0 37 36.78l155.38-26.62a34.2 34.2 0 0 0 18.38-9.52l575-575a16 16 0 0 0 0-22.63z" p-id="3264"></path></svg>',
                                "menu_type": "api",
                                "disable": True,
                                "url": "/metadata_table_modelview/api/"
                            }
                        ]
                    },

                ]
            }
        # 在线开发
        dev = {
                "name": 'dev',
                "title": __('在线开发'),
                'hidden': 0,
                "isExpand": True,
                "icon": '<svg t="1658320670421" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="8692" width="200" height="200"><path d="M44.100267 534.357333v-0.034133a33.655467 33.655467 0 0 1 0-47.854933v-0.068267l239.342933-239.138133a33.826133 33.826133 0 1 1 47.889067 47.854933l-215.415467 215.278933 215.415467 215.278934a33.792 33.792 0 0 1 0.068266 47.889066 34.065067 34.065067 0 0 1-47.957333-0.034133l-239.3088-239.138133-0.034133-0.034134z m534.528-427.008a34.133333 34.133333 0 1 1 65.9456 17.646934l-211.968 791.074133a34.133333 34.133333 0 1 1-65.9456-17.646933l211.968-791.074134z m401.271466 427.008l-239.342933 239.172267a34.065067 34.065067 0 0 1-47.957333 0.034133 33.792 33.792 0 0 1 0.068266-47.889066l215.415467-215.278934-215.415467-215.278933a33.826133 33.826133 0 1 1 47.889067-47.854933l239.3088 239.138133 0.034133 0.034133v0.034134a33.655467 33.655467 0 0 1 0 47.854933z" fill="#333333" p-id="8693"></path></svg>',
                "children": [
                    {
                        "name": 'images',
                        "title": __('镜像管理'),
                        "isMenu": True,
                        "isExpand": True,
                        "children": [
                            {
                                "name": 'docker_repository',
                                "title": __('镜像仓库'),
                                "icon": '<svg t="1646707265666" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="13240" width="128" height="128"><path d="M466.752 128.96a71.376 71.376 0 0 1 90.496 0L924.16 429.392a19.2 19.2 0 0 1-24.32 29.712L532.912 158.688a32.976 32.976 0 0 0-41.84 0L124.16 459.088a19.2 19.2 0 1 1-24.32-29.712L466.752 128.976zM317.104 415.2a36.704 36.704 0 0 1 36.672-36.768h96.048a36.704 36.704 0 0 1 36.656 36.768v96.544a36.704 36.704 0 0 1-36.656 36.768H353.76a36.704 36.704 0 0 1-36.672-36.768V415.2z m38.4 1.632v93.28h92.576v-93.28H355.52z m-150.176 62.56a19.2 19.2 0 0 1 19.2 19.2v307.2c0 28.272 22.784 51.024 50.656 51.024h471.52c27.872 0 50.64-22.752 50.64-51.024v-307.2a19.2 19.2 0 1 1 38.4 0v307.2c0 49.28-39.776 89.424-89.056 89.424H275.2c-49.28 0-89.056-40.128-89.056-89.424v-307.2a19.2 19.2 0 0 1 19.2-19.2z m111.776 155.248a36.704 36.704 0 0 1 36.672-36.768h96.048a36.704 36.704 0 0 1 36.656 36.768v96.544a36.704 36.704 0 0 1-36.656 36.752H353.76a36.704 36.704 0 0 1-36.672-36.752v-96.544z m38.4 1.632v93.28h92.576v-93.28H355.52z m179.888-1.632a36.704 36.704 0 0 1 36.672-36.768h96.048a36.704 36.704 0 0 1 36.656 36.768v96.544a36.704 36.704 0 0 1-36.656 36.752h-96.048a36.704 36.704 0 0 1-36.672-36.752v-96.544z m38.4 1.632v93.28h92.576v-93.28h-92.576z" p-id="13241"></path></svg>',
                                "menu_type": "api",
                                "url": "/repository_modelview/api/"
                            },
                            {
                                "name": 'docker',
                                "title": __('镜像构建'),
                                "icon": '<svg t="1658320733754" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="11164" width="200" height="200"><path d="M973.714286 166.857143H356.571429c-20.228571 0-36.571429 16.342857-36.571429 36.571428v269.714286H50.285714c-20.228571 0-36.571429 16.342857-36.571428 36.571429v310.857143c0 20.228571 16.342857 36.571429 36.571428 36.571428h617.142857c20.228571 0 36.571429-16.342857 36.571429-36.571428V550.857143h269.714286c20.228571 0 36.571429-16.342857 36.571428-36.571429V203.428571c0-20.228571-16.342857-36.571429-36.571428-36.571428z m-576 77.714286h228.571428v228.571428H397.714286V244.571429z m-77.714286 534.857142H91.428571V550.857143h228.571429v228.571428z m306.285714 0H397.714286V550.857143h228.571428v228.571428z m306.285715-306.285714H704V244.571429h228.571429v228.571428z" p-id="11165"></path></svg>',
                                "menu_type": "api",
                                "url": "/docker_modelview/api/"
                            },
                            {
                                "name": 'template_images',
                                "title": __('镜像管理'),
                                "icon": '<svg t="1646707325205" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="13984" width="128" height="128"><path d="M945.9 493.8c-2.2-1.9-47.8-40.9-112.1-40.9h-2.3c-11.9-23.2-35.1-55.2-79.7-83.5-14.3-9-32.9-7-44.8 5-2.3 2.3-22.6 23.2-37.7 56-15.3 33.1-19.9 66.7-13.8 98.8-2.3 0.5-5.6 1-10 1.5h-523c-27.7 0-50.9 20.8-54 48.3-1.3 11.1-1.9 21.5-1.9 30.9 0 38.6 7.3 75 21.6 108.4 14.4 33.5 35.6 63.3 63 88.4 55.3 50.7 133.7 80.3 226.8 85.7h0.4c0.6 0 3.8 0.2 9.3 0.2 23.8 0 90.2-2.6 166.4-27.8 55.5-18.4 104.9-45 146.9-79.2 46.9-38.2 84.4-85.6 111.7-141.3 10.9-1 24.2-3.4 38.6-8.3 32.2-11 76.4-37.4 104.1-100.6 6.1-14.4 2.3-31.3-9.5-41.6z m-115.5 73.1c-18.8 7.1-34.7 6.1-36.7 5.9-16.1-2.4-31 6.5-37.5 21.6-23 53.8-56.6 99-99.7 134.4-34.8 28.6-76.2 51.1-122.9 66.8-79.6 26.9-148.5 25-151.9 24.8-150-8.8-243.2-89.5-243.2-210.7 0-2.3 0.1-4.7 0.2-7.2h508.7c1.2 0 2.5-0.1 3.7-0.2 20.1-2.1 30.3-5.4 37.5-8.4l23.8-8.4c9.6-3.4 17.4-10.7 21.3-20.2 3.9-9.4 3.6-20.1-0.8-29.3-11-22.9-10.6-47.8 0.9-74 1.9-4.2 3.9-8.2 5.9-11.8 25.7 23.7 32 44.9 32.9 48.2 1.5 9.7 6.8 17.7 14.9 23.3 8.2 5.7 18.2 7 28 4.9 22.6-4.8 43.1 0.3 58.1 6.8-11.6 15.9-26.1 27.1-43.2 33.5zM132.8 501.1h70c11 0 20-9 20-20v-70c0-11-9-20-20-20h-70c-11 0-20 9-20 20v70c0 11 9 20 20 20z" p-id="13985"></path><path d="M265.2 501.1h70c11 0 20-9 20-20v-70c0-11-9-20-20-20h-70c-11 0-20 9-20 20v70c0 11 8.9 20 20 20zM399 501.1h70c11 0 20-9 20-20v-70c0-11-9-20-20-20h-70c-11 0-20 9-20 20v70c0 11 9 20 20 20zM265.2 370.2h70c11 0 20-9 20-20v-70c0-11-9-20-20-20h-70c-11 0-20 9-20 20v70c0 11 8.9 20 20 20zM399 370.2h70c11 0 20-9 20-20v-70c0-11-9-20-20-20h-70c-11 0-20 9-20 20v70c0 11 9 20 20 20zM399 239.5h70c11 0 20-9 20-20v-70c0-11-9-20-20-20h-70c-11 0-20 9-20 20v70c0 11 9 20 20 20zM532.3 501.1h70c11 0 20-9 20-20v-70c0-11-9-20-20-20h-70c-11 0-20 9-20 20v70c0 11 8.9 20 20 20z" p-id="13986"></path><path d="M250.7 678.1m-36 0a36 36 0 1 0 72 0 36 36 0 1 0-72 0Z" p-id="13987"></path></svg>',
                                "menu_type": "api",
                                "url": "/images_modelview/api/"
                            },
                        ]
                    },
                    {
                        "name": 'dev_online',
                        "title": __('代码开发'),
                        "isMenu": True,
                        "isExpand": True,
                        "children": [
                            {
                                "name": 'notebook',
                                "title": 'notebook',
                                "icon": '<svg t="1646706986326" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="11053" width="128" height="128"><path d="M639.904 96.32a16 16 0 0 1 2.88 31.776l-2.88 0.256H160.128v768h704V363.296a16 16 0 0 1 31.744-2.88l0.256 2.88V896.32a32 32 0 0 1-28.256 31.776l-3.744 0.224h-704a32 32 0 0 1-31.776-28.288l-0.224-3.712v-768a32 32 0 0 1 28.256-31.808l3.744-0.192h479.776z m-88.64 482.912a16 16 0 0 1 10.112 17.824l-0.768 2.784-71.072 189.312a16 16 0 0 1-30.72-8.48l0.768-2.784 71.04-189.28a16 16 0 0 1 20.64-9.376z m-173.152 3.712a16 16 0 0 1 1.792 20.416l-1.856 2.208-82.496 82.112 82.656 84.672a16 16 0 0 1 1.6 20.416l-1.856 2.208a16 16 0 0 1-20.448 1.6l-2.176-1.888-93.76-96a16 16 0 0 1-1.664-20.288l1.856-2.208 93.728-93.312a16 16 0 0 1 22.624 0.064z m288-1.92l2.24 1.856 93.696 93.312 1.856 2.208a16 16 0 0 1 0.128 18.08l-1.824 2.24-93.728 96-2.176 1.856a16 16 0 0 1-18.208 0.224l-2.24-1.824-1.888-2.208a16 16 0 0 1-0.192-18.176l1.824-2.24 82.656-84.672-82.496-82.112-1.856-2.24a16 16 0 0 1 22.208-22.304z m-316.416-146.72c6.528 0 12.288 1.92 16.896 6.528 4.224 4.224 6.528 9.6 6.528 16.128a21.184 21.184 0 0 1-6.912 16.512 23.552 23.552 0 0 1-16.512 6.528 23.552 23.552 0 0 1-16.512-6.528 21.984 21.984 0 0 1-6.528-16.512c0-6.528 1.92-11.904 6.528-16.128a21.984 21.984 0 0 1 16.512-6.528zM890.432 100.096a16 16 0 0 1 3.584 20.16l-1.632 2.4-288.544 342.56a16 16 0 0 1-26.112-18.24l1.632-2.368 288.544-342.56a16 16 0 0 1 22.528-1.92zM355.456 200.448c24.576 0 44.16 6.528 59.136 20.352 14.208 13.056 21.504 31.104 21.504 54.144 0 17.28-4.992 32.256-14.592 44.928-3.84 4.608-14.208 14.592-31.104 29.568a79.04 79.04 0 0 0-18.048 21.12 53.6 53.6 0 0 0-7.296 28.032v8.832h-30.72v-8.832c0-12.672 2.304-23.808 6.912-33.408 5.376-11.52 18.048-26.112 38.784-44.544 6.144-6.144 10.752-10.752 13.056-13.824 7.68-9.6 11.52-19.584 11.52-30.336 0-15.36-4.608-27.264-13.056-35.712-8.832-9.216-21.504-13.44-37.632-13.44-19.2 0-33.408 6.144-42.624 18.816-8.448 10.752-12.672 25.344-12.672 44.16h-30.336c0-26.88 7.296-48.384 22.656-64.512 15.36-16.896 36.864-25.344 64.512-25.344z" p-id="11054"></path></svg>',
                                "menu_type": "api",
                                "url": "/notebook_modelview/api/"
                            }
                        ]
                    },
                    {
                        "name": 'data_pipeline',
                        "title": __('数据开发'),
                        "isMenu": True,
                        "isExpand": True,
                        "children": [
                            {
                                "name": 'etl_pipeline',
                                "title": __('任务ETL'),
                                "icon": '<svg t="1646714525402" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="37492" width="128" height="128"><path d="M576.364 706c59.702 0 108.1 48.398 108.1 108.1 0 59.702-48.398 108.1-108.1 108.1h-179.4c-59.702 0-108.1-48.398-108.1-108.1 0-59.702 48.398-108.1 108.1-108.1h179.4z m196.737-188.572c78.348 3.4 140.802 68.833 151.318 148.04 11.261 84.825-39.41 157.519-138.707 179.422l1.457 41.706a6.9 6.9 0 0 1-11.165 5.662l-82.04-64.617a6.9 6.9 0 0 1-0.367-10.53l77.321-70.17a6.9 6.9 0 0 1 11.533 4.869l1.123 32.004c61.365-17.221 88.357-59.32 81.565-110.477-6.833-51.47-46.297-93.259-93.207-96.091l-1.424-0.074-0.715-0.04c-16.15-1.081-28.566-14.87-27.86-31.128 0.716-16.498 14.67-29.292 31.168-28.576zM576.364 765.8h-179.4c-26.675 0-48.3 21.625-48.3 48.3 0 26.406 21.19 47.863 47.493 48.293l0.807 0.007h179.4c26.676 0 48.3-21.625 48.3-48.3 0-26.406-21.19-47.863-47.493-48.293l-0.807-0.007z m0-326.6c59.702 0 108.1 48.398 108.1 108.1 0 59.702-48.398 108.1-108.1 108.1h-179.4c-59.702 0-108.1-48.398-108.1-108.1 0-59.702 48.398-108.1 108.1-108.1h179.4zM261.236 260.804c0.706 16.258-11.71 30.047-27.86 31.128l-0.715 0.04c-47.534 2.063-87.729 44.175-94.631 96.165-5.815 43.8 13.134 80.958 57.218 101.55l1.02-29.118a6.9 6.9 0 0 1 11.532-4.868l77.321 70.169a6.9 6.9 0 0 1-0.367 10.53l-82.04 64.617a6.9 6.9 0 0 1-11.164-5.662l1.48-42.383C109.937 525.25 68.453 457.83 78.75 380.267c10.515-79.206 72.97-144.639 151.318-148.039 16.498-0.716 30.452 12.078 31.168 28.576zM576.364 499h-179.4c-26.675 0-48.3 21.625-48.3 48.3 0 26.406 21.19 47.863 47.493 48.293l0.807 0.007h179.4c26.676 0 48.3-21.625 48.3-48.3 0-26.406-21.19-47.863-47.493-48.293l-0.807-0.007z m0-345c59.702 0 108.1 48.398 108.1 108.1 0 59.702-48.398 108.1-108.1 108.1h-179.4c-59.702 0-108.1-48.398-108.1-108.1 0-59.702 48.398-108.1 108.1-108.1h179.4z m0 59.8h-179.4c-26.675 0-48.3 21.625-48.3 48.3 0 26.406 21.19 47.863 47.493 48.293l0.807 0.007h179.4c26.676 0 48.3-21.625 48.3-48.3 0-26.406-21.19-47.863-47.493-48.293l-0.807-0.007z" fill="#333333" p-id="37493"></path></svg>',
                                "menu_type": "api",
                                # "disable": True,
                                "url": "/etl_pipeline_modelview/api/",
                            },
                            {
                                "name": 'task_manager',
                                "title": __('任务管理'),
                                # "disable": True,
                                "icon": '<svg t="1646714570024" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="41094" width="128" height="128"><path d="M831.825 63.94H191.94c-70.692 0-128 57.308-128 128v639.885c0 70.692 57.308 128 128 128h639.885c70.692 0 128-57.308 128-128V191.94c0-70.692-57.308-128-128-128zM895.885 832a63.835 63.835 0 0 1-63.973 63.886H192.088c-17.112 0-33.27-6.575-45.372-18.676s-18.836-28.098-18.836-45.21V192a64.236 64.236 0 0 1 64.208-64.12h639.824A64.038 64.038 0 0 1 895.885 192V832z" p-id="41095"></path><path d="M791.998 351.852H536a31.97 31.97 0 0 0 0 63.94h256a31.97 31.97 0 0 0 0-63.94z m0 256.121H536a31.97 31.97 0 0 0 0 63.94h256a31.97 31.97 0 0 0 0-63.94z m-447.996-79.975c-61.856 0-111.986 50.144-111.986 111.985S282.16 751.97 344.002 751.97s111.985-50.144 111.985-111.986-50.13-111.985-111.985-111.985z m33.982 145.982a48.045 48.045 0 1 1 14.088-33.982 47.746 47.746 0 0 1-14.088 33.986z m39.412-376.586L311.999 402.787l-41.391-41.395a31.97 31.97 0 1 0-45.213 45.213l63.997 64.002a31.97 31.97 0 0 0 45.214 0l128-128a31.97 31.97 0 0 0-45.21-45.213z" p-id="41096"></path></svg>',
                                "menu_type": "api",
                                "url": "/etl_task_modelview/api/",
                            },
                            {
                                "name": 'instance_manager',
                                "title": __('任务实例'),
                                "disable": True,
                                "icon": '<svg t="1646714617148" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="41609" width="128" height="128"><path d="M112.64 95.36a32 32 0 0 0-32 32v332.16a32 32 0 0 0 32 32h332.16a32 32 0 0 0 32-32V128a32 32 0 0 0-32-32z m300.16 332.16H144.64V159.36h268.16zM938.88 293.76a197.76 197.76 0 1 0-197.76 197.76 198.4 198.4 0 0 0 197.76-197.76z m-332.16 0a133.76 133.76 0 1 1 133.76 133.76 134.4 134.4 0 0 1-133.76-133.76zM99.84 928.64h365.44a32 32 0 0 0 27.52-48L310.4 563.84a33.28 33.28 0 0 0-55.68 0l-182.4 316.8a32 32 0 0 0 27.52 48z m182.4-284.16l128 220.16h-256zM832 552.96h-177.28a32 32 0 0 0-27.52 16l-89.6 155.52a32 32 0 0 0 0 32l89.6 155.52a32 32 0 0 0 27.52 16H832a32 32 0 0 0 27.52-16l89.6-155.52a32 32 0 0 0 0-32l-89.6-155.52a32 32 0 0 0-27.52-16z m-18.56 311.04h-140.16L601.6 741.12l71.68-123.52h142.72l71.68 123.52z" fill="#1B213F" p-id="41610"></path></svg>',
                                "menu_type": "innerRoute",
                            }
                        ]
                    },
                ]
            }
        # 机器学习
        ml = {
                "name": 'train',
                "title": __('模型训练'),
                'hidden': 0,
                "isExpand": True,
                "icon": '<svg t="1656301644598" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3966" width="200" height="200"><path d="M738.133333 85.333333C789.333333 85.333333 832 128 832 179.2c0 42.666667-27.733333 78.933333-66.133333 89.6l-27.733334 166.4c23.466667 17.066667 40.533333 44.8 40.533334 76.8 0 51.2-42.666667 93.866667-93.866667 93.866667-38.4 0-72.533333-23.466667-87.466667-57.6l-102.4-6.4c-12.8 14.933333-29.866667 23.466667-51.2 23.466666-36.266667 0-66.133333-29.866667-66.133333-66.133333 0-25.6 14.933333-49.066667 36.266667-59.733333l8.533333-55.466667c-10.666667-12.8-19.2-27.733333-19.2-46.933333 0-36.266667 29.866667-66.133333 66.133333-66.133334s66.133333 29.866667 66.133334 66.133334c0 25.6-14.933333 49.066667-36.266667 59.733333l-8.533333 55.466667c2.133333 2.133333 4.266667 6.4 6.4 8.533333l102.4 6.4c12.8-21.333333 32-38.4 55.466666-44.8L682.666667 256c-12.8-8.533333-23.466667-21.333333-32-36.266667H369.066667c-10.666667 23.466667-32 42.666667-57.6 49.066667l-49.066667 298.666667c34.133333 19.2 57.6 51.2 61.866667 91.733333l364.8 81.066667c23.466667-40.533333 66.133333-66.133333 115.2-66.133334 74.666667 0 132.266667 59.733333 132.266666 132.266667S878.933333 938.666667 806.4 938.666667c-70.4 0-128-53.333333-132.266667-121.6l-364.8-81.066667c-21.333333 34.133333-59.733333 55.466667-102.4 55.466667-66.133333 0-119.466667-53.333333-119.466666-119.466667 0-59.733333 42.666667-108.8 98.133333-117.333333L234.666667 256c-27.733333-17.066667-42.666667-44.8-42.666667-76.8C192 128 234.666667 85.333333 285.866667 85.333333c36.266667 0 70.4 21.333333 85.333333 53.333334h283.733333C669.866667 106.666667 701.866667 85.333333 738.133333 85.333333z" fill="#6415FF" p-id="3967"></path></svg>',
                "children": [
                    {
                        "name": 'train_template',
                        "title": __('模板开发'),
                        "isMenu": True,
                        "isExpand": True,
                        "children": [
                            {
                                "name": 'job_template',
                                "title": __('任务模板'),
                                "icon": '<svg t="1646707407473" class="icon" viewBox="0 0 1029 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="17170" width="128" height="128"><path d="M643.645496 1023.99488 113.833257 1023.99488c-30.396199 0-58.031151-11.271775-79.914779-32.597638C11.728384 969.774108-2.3e-05 942.054369-2.3e-05 911.233205l0-124.322548 1.166609-4.899351c5.90149-24.79198 17.650329-44.099262 34.923705-57.386553 11.227848-8.634135 24.849187-13.195352 39.399113-13.195352 15.645028 0 31.811045 5.112854 49.416425 15.631747 3.524345 2.049228 5.667556 3.097338 6.73916 3.581552l4.203675 0.700782 5.771753 2.885877c12.707051 6.354036 25.061669 9.44218 37.76872 9.44218 13.633597 0 25.891167-2.395533 37.475536-7.323486 11.839756-5.038281 21.822336-11.714105 30.51572-20.408512 8.781238-8.782259 15.500988-18.690266 20.545399-30.295066 4.838058-11.128758 7.190685-23.107445 7.190685-36.626628 0-13.638705-2.395533-25.895253-7.321443-37.470428-5.040324-11.844864-11.716148-21.827444-20.411576-30.522871-8.697471-8.697471-18.680051-15.374317-30.522871-20.412598-11.576196-4.927953-23.831724-7.322465-37.47145-7.322465-12.730547 0-25.006505 2.678503-37.527634 8.188739l-1.820401 0.800895-1.886802 0.628253c-3.394608 1.131876-4.863596 1.838789-5.123069 1.968525-9.249108 4.623532-18.446116 8.92834-27.345853 12.796948-15.133231 6.58082-29.98145 9.13878-43.887801 7.592154-19.025334-2.107456-35.750139-12.615112-47.064819-29.582024-8.90178-13.350627-13.566174-30.509591-14.68375-54.005225l-0.049035-2.039013 0-112.840335c0-30.608681 11.592541-58.379499 33.52214-80.310119 21.935728-21.931641 49.704502-33.521118 80.31114-33.521118l96.492482 0c-6.217149-19.393092-9.363521-39.975267-9.363521-61.338927 0-29.5003 5.734977-57.534677 17.047615-83.324711 11.066444-25.231246 26.191502-47.537796 44.954298-66.301613 18.766882-18.764839 41.073433-33.889898 66.301613-44.955319 25.785947-11.310593 53.459718-17.046593 82.250041-17.046593 28.789302 0 56.462051 5.734977 82.252085 17.046593 25.231246 11.066444 47.538818 26.192524 66.301613 44.955319 18.763817 18.763817 33.888877 41.072411 44.953276 66.305699 11.310593 25.782882 17.047615 53.819303 17.047615 83.320624 0 21.575121-2.948191 42.052077-8.809841 61.338927l30.38394 0c30.821164 0 58.540903 11.727385 80.161994 33.916458 21.325863 21.889759 32.595595 49.522666 32.595595 79.914779l0 69.794291c20.424857-7.043583 42.091917-10.607768 64.562937-10.607768 27.951631 0 54.97161 5.50615 80.307054 16.365219 25.004462 10.716052 47.241547 25.709331 66.09424 44.562023 18.853714 18.850649 33.848014 41.089778 44.565088 66.095261 10.858048 25.338508 16.364198 52.356444 16.364198 80.303989 0 28.763763-5.543948 56.051388-16.476569 81.104884-10.71503 24.553959-25.672556 46.524419-44.456804 65.303559-18.845542 18.847585-41.082627 33.840864-66.08811 44.55998-25.344638 10.860091-52.362573 16.365219-80.309097 16.365219-22.474085 0-44.140123-3.564185-64.560893-10.607768l0 61.19591c0 30.601531-11.402533 58.184383-32.975611 79.766655C701.84418 1012.587239 674.257242 1023.99488 643.645496 1023.99488zM85.810117 803.534327l0 107.699899c0 7.753559 2.316873 13.1739 7.994645 18.707632 5.930093 5.777883 11.920458 8.243903 20.028496 8.243903l529.812238 0c7.986472 0 13.519183-2.274991 19.095821-7.85265 5.574594-5.577659 7.851628-11.112413 7.851628-19.098886L670.592944 684.116237l70.693255 60.092638c10.82638 9.203138 23.426168 16.797335 37.448976 22.574196 13.158576 5.417276 26.971966 8.051852 42.228805 8.051852 16.490871 0 31.70276-3.084058 46.507053-9.426857 15.132209-6.48786 27.961847-15.1128 39.217277-26.36823 11.325917-11.323874 19.986612-24.061572 26.482644-38.944523 6.267205-14.361961 9.313464-29.66477 9.313464-46.783893 0-16.490871-3.084058-31.701739-9.426857-46.501945-6.486838-15.135274-15.111778-27.964912-26.367209-39.21932-11.258495-11.257473-24.087111-19.882414-39.223407-26.369252-14.799185-6.341778-30.011075-9.425835-46.503988-9.425835-15.257861 0-29.073293 2.634576-42.237999 8.054916-14.014635 5.770732-26.615445 13.365951-37.444889 22.571131l-70.69019 60.079357L670.589879 386.798402c0-8.109058-2.46602-14.099424-8.245946-20.03156-5.528624-5.674707-10.947943-7.989537-18.701502-7.989537L448.509149 358.777305l60.409317-70.762719c18.397081-21.550604 27.340745-46.536678 27.340745-76.386348 0-17.810712-3.212773-33.790807-9.821175-48.855595-6.857661-15.638898-15.703255-28.752526-27.046539-40.093767-11.343283-11.343283-24.456912-20.191943-40.091724-27.049604-15.065809-6.608402-30.696535-9.819132-47.78399-9.819132s-32.717159 3.211751-47.780925 9.819132c-15.633791 6.856639-28.74844 15.704277-40.093767 27.049604-11.342261 11.342261-20.1899 24.454869-27.046539 40.089681-6.609424 15.067852-9.821175 31.049991-9.821175 48.85866 0 14.848219 2.390425 28.228472 7.30612 40.904876 5.194578 13.39864 12.227945 25.6889 20.904984 36.53571l55.770462 69.70848L113.833257 358.776283c-7.986472 0-13.676502 2.431287-19.637242 8.391006-5.956654 5.955632-8.38692 11.643619-8.38692 19.631113l0 105.644542c2.926738-1.393393 5.875952-2.832756 8.83538-4.312981 4.231257-2.11665 8.981461-4.082111 14.468203-5.981171 22.750924-9.734343 46.382424-14.668427 70.274419-14.668427 25.064734 0 48.978181 4.769613 71.075314 14.176039 21.832552 9.290991 41.212363 22.308593 57.594949 38.692201 16.382586 16.381564 29.40121 35.761376 38.694245 57.600057 9.403361 22.097133 14.172975 46.009559 14.172975 71.070206 0 25.174039-4.81354 49.007806-14.306797 70.840357-9.284862 21.357531-22.258538 40.454374-38.560421 56.756257-16.3785 16.380543-35.759333 29.400189-57.601078 38.694245-22.107348 9.405404-46.017731 14.172975-71.069185 14.172975-24.391532 0-48.470471-5.489806-71.650446-16.327422C101.166046 811.214335 94.074451 808.097589 85.810117 803.534327z" p-id="17171"></path></svg>',
                                "menu_type": "api",
                                "url": "/job_template_fab_modelview/api/"
                            },
                        ]
                    },
                    {
                        "name": 'train_task',
                        "title": __('任务流'),
                        "isMenu": True,
                        "isExpand": True,
                        "children": [
                            {
                                "name": 'pipeline',
                                "title": __('任务流'),
                                "icon": '<svg t="1646707538926" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="17496" width="128" height="128"><path d="M527.579429 186.660571a119.954286 119.954286 0 1 1-67.949715 0V47.542857a33.938286 33.938286 0 0 1 67.949715 0v139.190857z m281.380571 604.598858a119.954286 119.954286 0 1 1 67.949714 0v139.190857a33.938286 33.938286 0 1 1-67.949714 0v-139.190857z m-698.441143 0a119.954286 119.954286 0 1 1 67.949714 0v139.190857a33.938286 33.938286 0 0 1-67.949714 0v-139.190857zM144.457143 13.531429c18.797714 0 34.011429 15.213714 34.011428 33.938285v410.038857a33.938286 33.938286 0 0 1-67.949714 0V47.542857c0-18.724571 15.213714-33.938286 33.938286-33.938286z m0 722.139428a60.269714 60.269714 0 1 0 0-120.466286 60.269714 60.269714 0 0 0 0 120.466286z m698.514286-722.139428c18.724571 0 33.938286 15.213714 33.938285 33.938285v410.038857a33.938286 33.938286 0 1 1-67.949714 0V47.542857c0-18.724571 15.213714-33.938286 34.011429-33.938286z m0 722.139428a60.269714 60.269714 0 1 0 0-120.466286 60.269714 60.269714 0 0 0 0 120.466286z m-349.403429 228.717714a33.938286 33.938286 0 0 1-33.938286-33.938285V520.411429a33.938286 33.938286 0 0 1 67.949715 0v410.038857a33.938286 33.938286 0 0 1-34.011429 33.938285z m0-722.139428a60.269714 60.269714 0 1 0 0 120.539428 60.269714 60.269714 0 0 0 0-120.539428z" fill="#000000" p-id="17497"></path></svg>',
                                "menu_type": "api",
                                "url": "/pipeline_modelview/api/",
                                "model_name": "pipeline",
                                "related": [
                                    {
                                        "hidden": 1,
                                        "name": 'task',
                                        "title": __('任务'),
                                        "icon": '<svg t="1646706405313" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3745" width="128" height="128"><path d="M992 512c0-12-6-24-18-30l-108-60 108-60c12 0 18-12 18-30 0-12-6-24-18-30L530 68c-12-6-24-6-30 0L50 302c-12 6-18 18-18 30s6 24 18 30l108 60-108 60c-12 6-18 18-18 30s6 24 18 30l108 60-108 60c-12 0-18 12-18 30 0 12 6 24 18 30l444 234c6 0 12 6 18 6 6 0 12 0 18-6l444-234c12-6 18-18 18-30s-6-24-18-30l-108-60 108-60c12-6 18-18 18-30zM140 332L512 140 884 332 512 530 140 332z m744 360L512 884 140 692l90-48 264 138c6 0 12 6 18 6 6 0 12 0 18-6l264-138 90 48z m-372 18L140 512l90-48 264 138c6 0 12 6 18 6 6 0 12 0 18-6l264-138 90 48L512 710z" p-id="3746"></path></svg>',
                                        "menu_type": "api",
                                        "url": "/task_modelview/api/",
                                    }
                                ]
                            },
                            {
                                "name": 'runhistory',
                                "title": __('定时调度'),
                                "icon": '<svg t="1646707555273" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="18410" width="128" height="128"><path d="M491.287273 915.316364c-224.581818 0-407.272727-182.690909-407.272728-407.272728 0-156.392727 87.272727-296.494545 227.607273-365.614545 11.403636-5.585455 25.367273-0.930909 31.185455 10.705454 5.585455 11.636364 0.930909 25.367273-10.705455 31.185455-124.276364 61.207273-201.541818 185.250909-201.541818 323.723636 0 198.981818 161.745455 360.727273 360.727273 360.727273s360.727273-161.745455 360.727272-360.727273-161.745455-360.727273-360.727272-360.727272c-12.8 0-23.272727-10.472727-23.272728-23.272728s10.472727-23.272727 23.272728-23.272727c224.581818 0 407.272727 182.690909 407.272727 407.272727s-182.690909 407.272727-407.272727 407.272728z" fill="#040000" p-id="18411"></path><path d="M491.287273 531.316364c-12.8 0-23.272727-10.472727-23.272728-23.272728l-0.232727-279.272727c0-12.8 10.472727-23.272727 23.272727-23.272727s23.272727 10.472727 23.272728 23.272727l0.232727 279.272727c0 12.8-10.472727 23.272727-23.272727 23.272728z" fill="#040000" p-id="18412"></path><path d="M688.407273 531.316364h-197.12c-12.8 0-23.272727-10.472727-23.272728-23.272728s10.472727-23.272727 23.272728-23.272727h197.12c12.8 0 23.272727 10.472727 23.272727 23.272727s-10.472727 23.272727-23.272727 23.272728z" fill="#040000" p-id="18413"></path></svg>',
                                "menu_type": "api",
                                "url": "/runhistory_modelview/api/"
                            },
                            {
                                "name": 'workflow',
                                "title": __('运行实例'),
                                "icon": '<svg t="1646707580896" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="19019" width="128" height="128"><path d="M422 684h360c19.882 0 36 16.118 36 36v140c0 19.882-16.118 36-36 36H422c-19.882 0-36-16.118-36-36V720c0-19.882 16.118-36 36-36z m36 72v68h288v-68H458zM242 128h360c19.882 0 36 16.118 36 36v140c0 19.882-16.118 36-36 36H242c-19.882 0-36-16.118-36-36V164c0-19.882 16.118-36 36-36z m36 72v68h288v-68H278z" p-id="19020"></path><path d="M178 476c-19.683 0-35.677 15.797-35.995 35.405L142 512v278c0 19.683 15.797 35.677 35.405 35.995L178 826h142c19.882 0 36-16.118 36-36 0-19.683-15.797-35.677-35.405-35.995L320 754H214V548h204.68c19.684 0 35.678-15.797 35.995-35.405l0.005-0.595c0-19.683-15.797-35.677-35.404-35.995l-0.596-0.005H178z m526-278c-19.882 0-36 16.118-36 36 0 19.683 15.797 35.677 35.405 35.995L704 270h106v206H603.037c-19.683 0-35.677 15.797-35.995 35.405l-0.005 0.595c0 19.683 15.797 35.677 35.405 35.995l0.595 0.005H846c19.683 0 35.677-15.797 35.995-35.405L882 512V234c0-19.683-15.797-35.677-35.405-35.995L846 198H704z" p-id="19021"></path><path d="M534.749 394.274l111 90c17.77 14.408 17.77 41.52 0 55.927l-111 90c-13.216 10.716-32.13 10.716-45.346 0l-111-90c-17.77-14.408-17.77-41.519 0-55.927l111-90c13.216-10.715 32.13-10.715 45.346 0z m-22.673 74.309l-53.839 43.654 53.839 43.654 53.84-43.654-53.84-43.654z" p-id="19022"></path></svg>',
                                "menu_type": "api",
                                "url": "/workflow_modelview/api/"
                            },
                        ]
                    },
                    {
                        "name": 'automl',
                        "title": __('Automl'),
                        "isExpand": True,
                        "isMenu": True,
                        "children": [
                            {
                                "name": 'hyperparameter_search',
                                "title": __('超参搜索'),
                                "icon": '<svg t="1646707647264" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="22114" width="128" height="128"><path d="M 340.11 511.12 h -99.32 V 121.77 a 21.5 21.5 0 0 0 -43 0 v 389.35 H 98 a 21.51 21.51 0 0 0 -21.5 21.5 v 107.14 a 21.5 21.5 0 0 0 21.5 21.5 h 99.56 v 245.6 a 21.5 21.5 0 0 0 43 0 v -245.6 h 99.55 a 21.5 21.5 0 0 0 21.5 -21.5 V 532.62 a 21.51 21.51 0 0 0 -21.5 -21.5 Z m -21.5 107.14 H 119.5 v -64.14 h 199.11 Z M 633.09 270.12 h -99.32 V 121.77 a 21.5 21.5 0 1 0 -43 0 v 148.35 H 391 a 21.51 21.51 0 0 0 -21.5 21.5 v 107.14 a 21.5 21.5 0 0 0 21.5 21.5 h 99.56 v 486.6 a 21.5 21.5 0 0 0 43 0 v -486.6 h 99.55 a 21.5 21.5 0 0 0 21.5 -21.5 V 291.62 a 21.51 21.51 0 0 0 -21.52 -21.5 Z m -21.5 107.14 H 412.48 v -64.14 h 199.11 Z M 924.29 649.12 h -99.56 V 121.77 a 21.5 21.5 0 1 0 -43 0 v 527.35 h -99.55 a 21.51 21.51 0 0 0 -21.5 21.5 v 107.14 a 21.5 21.5 0 0 0 21.5 21.5 h 99.55 v 107.6 a 21.5 21.5 0 1 0 43 0 v -107.6 h 99.56 a 21.5 21.5 0 0 0 21.5 -21.5 V 670.62 a 21.51 21.51 0 0 0 -21.5 -21.5 Z m -21.5 107.14 H 703.68 v -64.14 h 199.11 Z" p-id="22115"></path></svg>',
                                "menu_type": "api",
                                "url": "/nni_modelview/api/"
                            },
                            {
                                "name": 'feature_search',
                                "title": __('特征搜索'),
                                "icon": '<svg t="1709102079706" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4267" width="200" height="200"><path d="M0 410.315369h204.391218v204.391218H0v-204.391218z" fill="#909399" p-id="4268"></path><path d="M202.858283 613.684631h204.391218V817.56487h-204.391218v-203.880239z m206.946108 206.435129h204.391218v203.88024h-204.391218v-203.88024zM408.782435 412.870259h204.391218v203.88024H408.782435V412.870259zM203.88024 206.946108h204.391217v203.880239h-204.391217V206.946108z" fill="#909399" p-id="4269"></path><path d="M408.271457 4.087824h204.391218v203.88024h-204.391218V4.087824z m511.489022 204.391218l-51.097804 67.96008h-323.449102v67.96008H1021.956088l-102.195609-135.92016z m-272.351297 613.173653l51.097804-67.96008H1021.956088v-67.96008h-476.742515l102.195609 135.92016zM817.56487 515.065868c0 56.207585 45.988024 102.195609 102.195609 102.195609s102.195609-45.988024 102.195609-102.195609-45.988024-102.195609-102.195609-102.195609-102.195609 45.477046-102.195609 102.195609z" fill="#909399" p-id="4270"></path></svg>',
                                "menu_type": "api",
                                "disable":True,
                                "url": "/nni_modelview/api/"
                            },
                            {
                                "name": 'model_compression',
                                "title": __('模型压缩'),
                                "icon": '<svg t="1709102140191" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="6448" width="200" height="200"><path d="M829.856 230.496c0-56.96-44.768-56.96-44.768-56.96H238.912s-44.8 0-44.8 56.96v56.96H831.68l-1.792-56.96zM693.76 64H330.24s-44.8 0-44.8 56.96h454.88C738.56 64 693.76 64 693.76 64z m227.456 223.456l-26.88-32.864v89.824H129.664v-89.824l-26.88 32.864c-26.848 32.864-46.528 41.6-35.808 111.712 10.752 70.112 62.688 451.296 69.856 503.872C145.792 960 192.32 960 192.32 960h637.504s46.56 0 55.52-56.96c7.168-52.576 59.104-433.76 71.648-503.872 10.72-70.08-8.96-78.848-35.84-111.712zM693.76 587.584s0 56.96-44.768 56.96H375.04c-44.8 0-44.8-56.96-44.8-56.96V475.84h64.48v89.824h236.416V475.84h64.448l-1.792 111.744z" p-id="6449"></path></svg>',
                                "menu_type": "api",
                                "disable": True,
                                "url": "/nni_modelview/api/"
                            }
                        ]
                    },
                ]
            }
        # 服务化
        service = {
                "name": 'service',
                "title": __('服务化'),
                "isMenu": True,
                # "isExpand": True,
                "icon": '<svg t="1658475429152" class="icon" viewBox="0 0 1056 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3298" width="200" height="200"><path d="M784.818005 488.94136h-417.766352l2.578804-28.366851a206.304371 206.304371 0 0 1 412.608743 0z m-357.938085-51.576092h298.109817a154.728279 154.728279 0 0 0-298.109817 0zM956.566394 333.18156L928.715304 291.404925a430.660375 430.660375 0 0 0-176.905999-145.960343l-56.217941-25.272286 57.249463-22.69348c121.203818-47.450005 180.000564-23.725003 206.304372 4.126087s48.481527 78.395661 13.409784 182.579369z m-128.940232-206.304372a485.331034 485.331034 0 0 1 108.825556 91.805446 92.836967 92.836967 0 0 0-13.409784-81.490227A103.152186 103.152186 0 0 0 825.563118 127.90871zM202.008155 979.945765a118.109253 118.109253 0 0 1-87.163597-31.461417c-46.418484-46.418484-41.260874-135.645124 14.957067-251.175572l25.272286-51.576093 21.661959 54.670658a434.270702 434.270702 0 0 0 166.075019 202.178284l40.745113 26.303808-44.35544 19.083154a384.757653 384.757653 0 0 1-123.266862 33.008699z m-47.450005-206.304372c-23.725003 66.017399-25.272286 118.109253-2.578805 140.802734a76.848378 76.848378 0 0 0 61.375551 15.988588 269.742966 269.742966 0 0 0 62.407072-12.894023A488.94136 488.94136 0 0 1 155.073911 768.999545z" fill="#5E5C5C" p-id="3299"></path><path d="M179.830435 1023.785443a187.221217 187.221217 0 0 1-138.223928-51.576092 176.390238 176.390238 0 0 1-41.260875-124.814145 545.159302 545.159302 0 0 1 29.914134-171.232628A882.466949 882.466949 0 0 1 74.615206 567.337022l-3.094566 4.126087 37.650548-151.117952a480.689186 480.689186 0 0 1 464.184836-363.611455h28.366851c165.043497-69.627725 308.940796-75.816857 370.316347-14.957067a185.673934 185.673934 0 0 1 51.576093 126.361428A385.273414 385.273414 0 0 1 999.374551 309.456557a481.720707 481.720707 0 0 1 57.249463 227.45057 499.256579 499.256579 0 0 1-2.578804 54.670658l-3.094566 29.398373H423.785355a164.011975 164.011975 0 0 0 304.814709 45.386962l7.220653-13.409784 17.535871-3.610327h292.952208l-14.957067 43.839679a480.689186 480.689186 0 0 1-454.901139 325.445146 474.500054 474.500054 0 0 1-203.209806-44.871201 464.184836 464.184836 0 0 1-193.410349 50.02881z m309.456558-879.888144L346.421215 286.763076l-29.398373 29.914134a1031.521857 1031.521857 0 0 0-149.570669 188.7685 897.939777 897.939777 0 0 0-88.195119 187.221217 493.583209 493.583209 0 0 0-27.85109 154.728279 129.971754 129.971754 0 0 0 26.819568 88.71088c51.576093 51.576093 154.728279 47.450005 283.15275-14.441306l11.346741-5.673371 11.34674 5.673371a422.408201 422.408201 0 0 0 191.347305 44.8712 429.113093 429.113093 0 0 0 396.620154-265.616878h-206.304372a215.072307 215.072307 0 0 1-398.683197-103.152186v-26.819568h636.964746v-32.492938a429.628854 429.628854 0 0 0-55.186419-213.525025l-5.67337-10.315218 4.126087-11.346741a346.075583 346.075583 0 0 0 24.756525-133.06632 135.645124 135.645124 0 0 0-36.619026-92.321206c-45.386962-44.871201-175.358716-33.008699-316.161449 28.882612h-42.808157A427.050049 427.050049 0 0 0 309.802189 200.631001a432.207658 432.207658 0 0 0-115.014687 138.73969A601.377243 601.377243 0 0 1 314.959799 246.017963z" fill="#5E5C5C" p-id="3300"></path></svg>',
                "children": [
                    {
                        "name": 'total_resource',
                        "title": __('整体资源'),
                        "icon": '<svg t="1654867496569" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2876" width="200" height="200"><path d="M855.8 868.3H167.1l-7.5-9.5c-29.3-37.4-52.2-78.9-67.9-123.3-16.2-46-24.4-94.3-24.4-143.5 0-59.2 11.8-116.6 35.2-170.7 22.4-52.1 54.6-98.9 95.5-138.9 40.8-40 88.2-71.3 141.1-93.3 54.6-22.6 112.6-34.2 172.4-34.2 59.7 0 117.7 11.5 172.4 34.2 52.9 22 100.3 53.2 141.1 93.3 40.9 40.1 73 86.8 95.5 138.9 23.3 54 35.2 111.5 35.2 170.7 0 49.2-8.2 97.5-24.5 143.5-15.7 44.4-38.6 85.9-67.9 123.3l-7.5 9.5z m-665-51.9h641.1c48.4-65.7 73.8-143 73.8-224.4 0-212.3-176.9-385.1-394.4-385.1-217.4 0.1-394.4 172.8-394.4 385.1 0.1 81.4 25.7 158.8 73.9 224.4z m0 0" p-id="2877"></path><path d="M421 650.7c0 49.9 40.5 90.4 90.4 90.4 49.9 0 90.4-40.5 90.4-90.4s-40.5-90.4-90.4-90.4c-49.9 0-90.4 40.5-90.4 90.4z m0 0" p-id="2878"></path><path d="M518.2 643.3c-10.8 8.3-26.5 6.3-34.9-4.6L382.9 508.3c-8.3-10.8-6.3-26.5 4.6-34.9 10.8-8.3 26.5-6.3 34.9 4.6l100.5 130.5c8.2 10.7 6.1 26.4-4.7 34.8z m0 0" p-id="2879"></path><path d="M806.9 602.1c-13.7 0-24.8-11.6-24.8-25.9 0-141-121.4-255.6-270.6-255.6-149.2 0-270.6 114.6-270.6 255.6 0 14.3-11.1 25.9-24.8 25.9-13.7 0-24.8-11.6-24.8-25.9 0-41.8 8.5-82.4 25.5-120.5 16.3-36.7 39.5-69.5 69.2-97.8 60.4-57.5 140.5-89.2 225.6-89.2s165.2 31.7 225.6 89.2c29.6 28.2 52.9 61.1 69.1 97.8 16.9 38.2 25.5 78.7 25.5 120.5-0.1 14.2-11.2 25.9-24.9 25.9z m0 0" p-id="2880"></path></svg>',
                        "menu_type": "api",
                        "url": "/total_resource/api/",
                    },
                    {
                        "name": 'k8s_service',
                        "title": __('内部服务'),
                        "icon": '<svg t="1646708008152" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="31188" width="128" height="128"><path d="M967.111111 113.777778v682.666666H56.888889V113.777778h910.222222zM113.777778 170.666667v568.888889h796.444444V170.666667H113.777778z" fill="#333333" p-id="31189"></path><path d="M170.666667 853.333333h682.666666v56.888889H170.666667z" fill="#333333" p-id="31190"></path><path d="M665.6 648.533333l-39.822222-45.511111L773.688889 455.111111 625.777778 307.2l39.822222-45.511111L853.333333 455.111111zM358.4 648.533333l39.822222-45.511111L250.311111 455.111111 398.222222 307.2l-39.822222-45.511111L170.666667 455.111111zM540.899556 221.866667l55.182222 13.824L483.157333 688.355556l-55.182222-13.767112z" fill="#333333" p-id="31191"></path></svg>',
                        "menu_type": "api",
                        "url": "/service_modelview/api/"
                    },
                    {
                        "name": 'inferenceservice',
                        "title": __('模型服务'),
                        "isMenu": True,
                        "isExpand": True,
                        "children": [
                            {
                                "name": 'model_manager',
                                "title": __('模型管理'),
                                "icon": '<svg t="1658320907066" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="14656" width="200" height="200"><path d="M512 1024C229.888 1024 0 794.112 0 512S229.888 0 512 0s512 229.888 512 512-229.888 512-512 512z m0-972.8c-253.952 0-460.8 206.848-460.8 460.8s206.848 460.8 460.8 460.8 460.8-206.848 460.8-460.8-206.848-460.8-460.8-460.8z" fill="" p-id="14657"></path><path d="M512 870.4c-28.16 0-51.2-23.04-51.2-51.2V409.6c0-28.16 23.04-51.2 51.2-51.2s51.2 23.04 51.2 51.2v409.6c0 28.16-23.04 51.2-51.2 51.2z" fill="" p-id="14658"></path><path d="M512 256m-51.2 0a51.2 51.2 0 1 0 102.4 0 51.2 51.2 0 1 0-102.4 0Z" fill="" p-id="14659"></path></svg>',
                                "menu_type": "api",
                                "url": "/training_model_modelview/web/api/"
                            },
                            {
                                "name": 'inferenceservice_manager',
                                "title": __('推理服务'),
                                "icon": '<svg t="1647603468955" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="8582" width="128" height="128"><path d="M512 170.666667H398.222222v682.666666h56.888889V512h56.888889c91.022222 0 170.666667-73.955556 170.666667-170.666667s-73.955556-170.666667-170.666667-170.666666z m113.777778 170.666666c0 62.577778-51.2 113.777778-113.777778 113.777778H455.111111V227.555556h56.888889c62.577778 0 113.777778 51.2 113.777778 113.777777zM910.222222 227.555556V170.666667h-170.666666v56.888889h56.888888v568.888888h-56.888888v56.888889h170.666666v-56.888889h-56.888889V227.555556zM199.111111 170.666667C119.466667 170.666667 56.888889 233.244444 56.888889 312.888889V853.333333h56.888889V512h170.666666v341.333333h56.888889V312.888889C341.333333 233.244444 278.755556 170.666667 199.111111 170.666667zM284.444444 455.111111H113.777778V312.888889C113.777778 267.377778 153.6 227.555556 199.111111 227.555556h5.688889C244.622222 227.555556 284.444444 267.377778 284.444444 312.888889V455.111111z" fill="#333333" p-id="8583"></path></svg>',
                                "menu_type": "api",
                                "url": "/inferenceservice_modelview/api/"
                            },
                        ]
                    },
                    # {
                    #     "name": 'model_observability',
                    #     "title": '模型可观测',
                    #     "icon": '<svg t="1646708148024" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="32938" width="128" height="128"><path d="M576.364 706c59.702 0 108.1 48.398 108.1 108.1 0 59.702-48.398 108.1-108.1 108.1h-179.4c-59.702 0-108.1-48.398-108.1-108.1 0-59.702 48.398-108.1 108.1-108.1h179.4z m196.737-188.572c78.348 3.4 140.802 68.833 151.318 148.04 11.261 84.825-39.41 157.519-138.707 179.422l1.457 41.706a6.9 6.9 0 0 1-11.165 5.662l-82.04-64.617a6.9 6.9 0 0 1-0.367-10.53l77.321-70.17a6.9 6.9 0 0 1 11.533 4.869l1.123 32.004c61.365-17.221 88.357-59.32 81.565-110.477-6.833-51.47-46.297-93.259-93.207-96.091l-1.424-0.074-0.715-0.04c-16.15-1.081-28.566-14.87-27.86-31.128 0.716-16.498 14.67-29.292 31.168-28.576zM576.364 765.8h-179.4c-26.675 0-48.3 21.625-48.3 48.3 0 26.406 21.19 47.863 47.493 48.293l0.807 0.007h179.4c26.676 0 48.3-21.625 48.3-48.3 0-26.406-21.19-47.863-47.493-48.293l-0.807-0.007z m0-326.6c59.702 0 108.1 48.398 108.1 108.1 0 59.702-48.398 108.1-108.1 108.1h-179.4c-59.702 0-108.1-48.398-108.1-108.1 0-59.702 48.398-108.1 108.1-108.1h179.4zM261.236 260.804c0.706 16.258-11.71 30.047-27.86 31.128l-0.715 0.04c-47.534 2.063-87.729 44.175-94.631 96.165-5.815 43.8 13.134 80.958 57.218 101.55l1.02-29.118a6.9 6.9 0 0 1 11.532-4.868l77.321 70.169a6.9 6.9 0 0 1-0.367 10.53l-82.04 64.617a6.9 6.9 0 0 1-11.164-5.662l1.48-42.383C109.937 525.25 68.453 457.83 78.75 380.267c10.515-79.206 72.97-144.639 151.318-148.039 16.498-0.716 30.452 12.078 31.168 28.576zM576.364 499h-179.4c-26.675 0-48.3 21.625-48.3 48.3 0 26.406 21.19 47.863 47.493 48.293l0.807 0.007h179.4c26.676 0 48.3-21.625 48.3-48.3 0-26.406-21.19-47.863-47.493-48.293l-0.807-0.007z m0-345c59.702 0 108.1 48.398 108.1 108.1 0 59.702-48.398 108.1-108.1 108.1h-179.4c-59.702 0-108.1-48.398-108.1-108.1 0-59.702 48.398-108.1 108.1-108.1h179.4z m0 59.8h-179.4c-26.675 0-48.3 21.625-48.3 48.3 0 26.406 21.19 47.863 47.493 48.293l0.807 0.007h179.4c26.676 0 48.3-21.625 48.3-48.3 0-26.406-21.19-47.863-47.493-48.293l-0.807-0.007z" fill="#333333" p-id="32939"></path></svg>',
                    #     "menu_type": "api",
                    #     "disable": True,
                    #     "url": "/service_pipeline_modelview/api/"
                    # },
                ]
            }
        # 应用市场
        aihub = {
                "name": 'ai_hub',
                "title": 'AIHub',
                "isMenu": True,
                'hidden': 1,
                "isExpand": True,
                "icon": '<svg t="1660895494223" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2520" width="200" height="200"><path d="M735.9 66.5H288.1C176.4 66.5 85.5 157.3 85.5 269v486c0 111.7 90.9 202.6 202.6 202.6H736c111.7 0 202.6-90.9 202.6-202.6V269c-0.1-111.7-91-202.5-202.7-202.5zM884.8 755c0 82.1-66.8 148.9-148.9 148.9H288.1C206 903.8 139.2 837 139.2 755V269c0-82.1 66.8-148.9 148.9-148.9H736c82.1 0 148.9 66.8 148.9 148.9v486z" fill="#494949" p-id="2521"></path><path d="M651.2 344.5c-18.5 0-33.6 15-33.6 33.6 0 58.3-47.4 105.7-105.7 105.7-58.3 0-105.7-47.4-105.7-105.7 0-18.5-15-33.6-33.6-33.6-18.5 0-33.6 15-33.6 33.6 0 95.3 77.5 172.8 172.8 172.8s172.8-77.5 172.8-172.8c0.2-18.6-14.8-33.6-33.4-33.6z" fill="#494949" p-id="2522"></path></svg>',
                "children": [
                    {
                        "name": 'other',
                        "title": __('gpt配置'),
                        "isMenu": True,
                        "isExpand": True,
                        "children": [
                            {
                                "name": 'chat',
                                "title": __('知识库'),
                                "icon": '<svg t="1682394317506" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2833" width="50" height="50"><path d="M431.207059 2.199998C335.414129 13.19899 257.420186 72.593947 219.024215 163.78688l-6.199996 14.797989-19.997985 5.799996C104.233299 210.582846 38.840347 279.776795 15.041364 372.369727c-6.999995 27.39698-8.999993 71.393948-4.199997 99.990927 7.399995 44.996967 26.597981 88.592935 53.795961 121.989911l9.198993 11.399991-5.199996 19.597986c-6.799995 26.597981-8.598994 74.593945-3.799997 103.190924 14.799989 87.392936 75.193945 163.58688 155.587886 196.383857 46.395966 18.998986 95.99193 24.797982 142.187895 16.798987l11.599992-1.999998 18.597986 17.598987c30.396978 28.596979 66.593951 48.395965 108.789921 59.994956 25.998981 6.999995 83.193939 8.999993 111.391918 3.599997 53.194961-9.799993 98.391928-33.797975 137.1889-72.794946 27.996979-28.196979 51.194963-64.393953 59.794956-93.591932 2.199998-6.999995 3.599997-8.599994 8.798993-9.799993 12.798991-2.598998 42.595969-13.39799 56.194959-20.196985 35.996974-17.998987 72.793947-49.195964 94.792931-80.593941 19.797985-28.197979 36.196973-65.993952 44.395967-102.990924 1.799999-7.799994 2.799998-24.997982 2.799998-48.995965 0-33.997975-0.6-38.796972-5.799996-58.995956-9.998993-38.795972-25.997981-71.993947-48.395964-100.190927l-10.198993-12.799991 4.399997-17.597987c26.79698-102.790925-16.798988-217.181841-105.391923-276.576797-30.996977-20.598985-58.194957-31.997977-95.59193-40.196971-22.397984-4.999996-70.993948-5.799996-91.991932-1.799998-12.399991 2.399998-12.99999 2.399998-15.799989-1.599999-4.598997-7.199995-34.795975-31.596977-52.794961-42.995969C548.196973 9.598993 486.603019-4.199997 431.207059 2.199998z m45.395967 67.793951c25.197982 2.399998 40.39697 6.399995 61.394955 16.198988 16.797988 7.799994 41.995969 23.397983 41.995969 25.997981 0 0.799999-45.595967 27.79798-101.390926 59.794956-55.995959 32.196976-104.591923 60.794955-108.19092 63.394954-14.799989 10.998992-14.399989 8.399994-14.59999 97.591928-0.2 43.995968-0.999999 110.389919-1.599998 147.387892l-1.199 67.393951-42.596968-24.397982-42.595969-24.397982 0.599999-134.988902c0.799999-154.386887 0.2-147.987892 19.597986-187.383862 29.797978-60.395956 86.792936-100.191927 151.987889-106.591922 8.199994-0.799999 15.398989-1.599999 15.998988-1.599999 0.6-0.2 9.798993 0.6 20.597985 1.599999z m268.977803 82.992939c73.393946 15.399989 132.189903 74.193946 147.387892 147.987892 3.599997 16.998988 4.599997 62.394954 1.599999 67.79495-1.199999 2.399998-22.797983-9.399993-108.590921-59.394957-105.391923-61.394955-107.191921-62.394954-117.989913-62.394954-10.799992 0-13.19999 1.399999-137.989899 73.593946l-126.989907 73.393946-0.599-49.395963c-0.2-27.19798 0.2-49.995963 1-50.795963 3.799997-3.599997 209.182847-121.189911 223.581836-127.989906 35.796974-16.797988 77.992943-21.397984 118.589913-12.798991z m-537.955606 362.369735c3.199998 4.599997 37.596972 25.398981 130.389904 78.993942 69.393949 39.796971 125.988908 72.993947 125.988908 73.593946 0 0.6-5.599996 4.199997-12.598991 8.199994-6.799995 3.799997-25.997981 14.797989-42.596968 24.397982l-30.196978 17.597987-107.790921-62.194954c-59.194957-34.196975-114.589916-67.393951-122.78991-73.793946-29.397978-22.597983-56.395959-63.793953-66.194952-101.190926-6.199995-24.197982-7.199995-60.794955-2.199998-84.992938 7.599994-36.996973 23.397983-66.994951 49.195964-93.792931 17.398987-17.997987 33.197976-29.396978 55.195959-40.195971l16.997988-8.199994 0.999999 127.589907 0.999999 127.589906 4.599997 6.398996zM750.379825 367.169731c56.394959 32.596976 108.389921 62.994954 115.589916 67.593951 43.396968 28.597979 73.593946 75.793944 81.99294 127.989906 3.599997 21.597984 1.599999 61.994955-3.999997 80.992941-8.998993 31.397977-24.996982 58.995957-47.594966 82.593939-17.598987 18.397987-48.195965 38.995971-65.794951 44.395967l-4.599997 1.399999v-124.189909c0-138.188899 0.4-133.389902-13.59899-143.387895-4.399997-2.999998-62.393954-37.196973-128.988906-75.593944-66.594951-38.596972-121.189911-70.393948-121.189911-70.993948-0.2-0.799999 83.592939-49.795964 85.192938-49.995964 0.4 0 46.595966 26.597981 102.991924 59.194957z m-181.385867 50.195963l54.99596 31.596977v127.989906l-55.19596 31.596977-55.194959 31.797977-39.196971-22.598983c-21.797984-12.398991-46.795966-26.99698-55.994959-32.196977l-16.398988-9.799993 0.399999-63.393953 0.6-63.394954 53.99496-31.396977c29.797978-17.198987 54.79596-31.397977 55.59596-31.397977 0.799999-0.2 26.197981 13.99999 56.394958 31.197977z m147.587892 85.592938l41.39697 23.797982v127.389907c0 139.787898-0.4 146.187893-11.999991 178.384869-11.597992 31.796977-36.595973 65.394952-64.593953 86.592937-6.799995 5.199996-21.397984 13.79899-32.396976 18.997986-51.995962 24.997982-109.59092 25.597981-162.586881 1.799999-12.598991-5.799996-40.39697-23.397983-40.396971-25.797982 0-0.6 46.996966-28.196979 104.191924-61.194955 57.394958-32.996976 107.190921-62.794954 110.789919-66.193951 3.799997-3.799997 7.399995-9.999993 8.799993-15.399989 1.599999-6.398995 2.199998-50.994963 2.199999-151.386889 0-78.392943 0.799999-141.987896 1.599999-141.587896 0.799999 0.2 20.197985 11.398992 42.995968 24.597982zM622.590919 732.139464c-3.799997 3.599997-205.38285 119.189913-221.781838 126.989907-26.597981 12.798991-47.995965 17.397987-79.792941 17.397987-19.798985 0-30.197978-0.999999-43.596968-4.199997-68.59395-16.997988-120.589912-66.193952-140.587897-133.787902-5.599996-18.798986-8.599994-57.395958-5.999996-75.193945l1.399999-9.199993 50.395963 29.197979c174.185872 100.391926 165.185879 95.59193 176.185871 95.591929 9.598993-0.2 16.597988-3.799997 137.1879-73.393946l126.989907-73.393946 0.599999 49.395964c0.2 26.99798-0.2 49.795964-0.999999 50.595963z" p-id="2834"></path></svg>',
                                "menu_type": "api",
                                "url": '/chat_modelview/api/',
                                "disable": True
                            },
                            {
                                "name": 'chat-plugin',
                                "title": __('Agent配置'),
                                "icon": '<svg t="1683337671788" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3740" width="200" height="200"><path d="M640 85.333333a42.666667 42.666667 0 0 1 42.666667 42.666667v128h42.666666a128 128 0 0 1 128 128v128a256 256 0 0 1-256 256h-42.666666v128a42.666667 42.666667 0 0 1-85.333334 0v-128h-42.666666a256 256 0 0 1-256-256V384a128 128 0 0 1 128-128h42.666666V128a42.666667 42.666667 0 1 1 85.333334 0v128h170.666666V128a42.666667 42.666667 0 0 1 42.666667-42.666667z m85.333333 256H298.666667a42.666667 42.666667 0 0 0-42.666667 42.666667v128a170.666667 170.666667 0 0 0 170.666667 170.666667h170.666666a170.666667 170.666667 0 0 0 170.666667-170.666667V384a42.666667 42.666667 0 0 0-42.666667-42.666667z" p-id="3741"></path></svg>',
                                "menu_type": "api",
                                "disable": True,
                                "url": '/chat_plugin_modelview/api/',
                            }
                        ]
                    },
                    {
                        "name": 'dataset_market',
                        "title": __('数据集'),
                        "icon": '<svg t="1660895595231" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5135" width="200" height="200"><path d="M685.6 444l171.7 68.7-354.8 141.9-337.2-141.9 175-73.7-37.3-17-208.6 90.7 408.1 177.4 425.8-177.4-201.7-84-41 15.3z m0 230.7l171.7 68.7-354.8 141.9-337.2-141.9 175-73.7-37.4-17-208.5 90.7 408.1 177.4 425.8-177.4-201.7-84-41 15.3zM928.3 282L502.5 104.6 94.4 282l408.1 177.4L928.3 282z m-763 0l337.1-141.9L857.3 282 502.5 424 165.3 282z m586.1 17.8V282L503 388.5 254.5 282v17.7L503 406.2l248.4-106.4z" fill="" p-id="5136"></path></svg>',
                        "menu_type": "api",
                        "disable": True,
                    },
                    {
                        "name": 'model_market',
                        "title": __('模型市场'),
                        "icon": '<svg t="1664182396322" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3003" width="64" height="64"><path d="M891.821291 547.404654l0.039999-0.099999 0.03-0.109999c5.999941-24.019765 5.789943-47.799533-0.639994-67.029345C856.901632 397.756116 751.182664 206.087987 511.995 206.087987c-239.317663 0-345.186629 192.268122-379.626293 275.007315-6.369938 19.049814-6.249939 43.059579 0.339997 62.749387 34.389664 82.409195 140.198631 274.097323 379.286296 274.097323 224.037812 0.02 334.136737-169.498345 379.826291-270.537358zM511.995 737.502798c-198.068066 0-283.65723-164.488394-305.287019-215.257898l-0.859991-16.069843c14.589858-36.409644 96.759055-214.407906 306.14701-214.407906 198.118065 0 283.65723 164.578393 305.277019 215.367897l0.849992 10.699895C803.142157 555.164578 719.272976 737.502798 511.995 737.502798z" fill="#2c2c2c" p-id="3004"></path><path d="M511.995 365.516431c-82.139198 0-146.47857 64.339372-146.478569 146.478569 0 82.159198 64.339372 146.518569 146.478569 146.518569 82.139198 0 146.47857-64.359371 146.47857-146.518569 0-82.139198-64.339372-146.47857-146.47857-146.478569z m0 212.577924c-35.229656 0-66.139354-30.889698-66.139354-66.099355 0-35.209656 30.909698-66.099354 66.139354-66.099354 35.209656 0 66.099354 30.889698 66.099355 66.099354 0 35.209656-30.889698 66.099354-66.099355 66.099355zM246.187596 938.170838H105.46897c-10.839894 0-19.659808-8.809914-19.659808-19.639808V777.812404c0-23.659769-19.239812-42.909581-42.889581-42.909581C19.259812 734.892823 0 754.142635 0 777.812404v140.718626c0 57.739436 46.649544 104.798977 104.238982 105.44897v0.02h141.948614c23.659769 0 42.909581-19.249812 42.909581-42.909581 0.01-23.669769-19.239812-42.919581-42.909581-42.919581zM981.080419 734.892823c-23.649769 0-42.889581 19.249812-42.889581 42.909581v140.708626c0 10.829894-8.819914 19.639808-19.659808 19.639808H777.812404c-23.659769 0-42.909581 19.249812-42.909581 42.909581 0 23.659769 19.249812 42.909581 42.909581 42.909581h140.728626c58.149432 0 105.44897-47.309538 105.44897-105.44897V777.812404c0-23.669769-19.249812-42.919581-42.909581-42.919581zM777.812404 85.819162h140.698626c10.839894 0 19.659808 8.809914 19.659808 19.639808v140.718626c0 23.659769 19.249812 42.909581 42.909581 42.909581 23.659769 0 42.909581-19.249812 42.909581-42.909581V105.45897C1023.99 47.309538 976.670462 0 918.51103 0h-140.698626c-23.659769 0-42.909581 19.249812-42.909581 42.899581-0.01 23.669769 19.239812 42.919581 42.909581 42.919581zM42.919581 289.097177c23.649769 0 42.879581-19.249812 42.879581-42.899581V105.46897c0-10.829894 8.819914-19.639808 19.659808-19.639808h140.718626c23.659769 0 42.909581-19.249812 42.909581-42.909581C289.097177 19.259812 269.847365 0 246.177596 0H105.45897C47.309538 0 0 47.309538 0 105.45897v140.718626c0 23.669769 19.259812 42.919581 42.919581 42.919581z" fill="#2c2c2c" p-id="3005"></path></svg>',
                        "isMenu": True,
                        'hidden': 0,
                        "isExpand": True,
                        "children": [
                            {
                                "name": 'model_visual',
                                "title": __('视觉'),
                                "icon": '<svg t="1664182396322" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3003" width="64" height="64"><path d="M891.821291 547.404654l0.039999-0.099999 0.03-0.109999c5.999941-24.019765 5.789943-47.799533-0.639994-67.029345C856.901632 397.756116 751.182664 206.087987 511.995 206.087987c-239.317663 0-345.186629 192.268122-379.626293 275.007315-6.369938 19.049814-6.249939 43.059579 0.339997 62.749387 34.389664 82.409195 140.198631 274.097323 379.286296 274.097323 224.037812 0.02 334.136737-169.498345 379.826291-270.537358zM511.995 737.502798c-198.068066 0-283.65723-164.488394-305.287019-215.257898l-0.859991-16.069843c14.589858-36.409644 96.759055-214.407906 306.14701-214.407906 198.118065 0 283.65723 164.578393 305.277019 215.367897l0.849992 10.699895C803.142157 555.164578 719.272976 737.502798 511.995 737.502798z" fill="#2c2c2c" p-id="3004"></path><path d="M511.995 365.516431c-82.139198 0-146.47857 64.339372-146.478569 146.478569 0 82.159198 64.339372 146.518569 146.478569 146.518569 82.139198 0 146.47857-64.359371 146.47857-146.518569 0-82.139198-64.339372-146.47857-146.47857-146.478569z m0 212.577924c-35.229656 0-66.139354-30.889698-66.139354-66.099355 0-35.209656 30.909698-66.099354 66.139354-66.099354 35.209656 0 66.099354 30.889698 66.099355 66.099354 0 35.209656-30.889698 66.099354-66.099355 66.099355zM246.187596 938.170838H105.46897c-10.839894 0-19.659808-8.809914-19.659808-19.639808V777.812404c0-23.659769-19.239812-42.909581-42.889581-42.909581C19.259812 734.892823 0 754.142635 0 777.812404v140.718626c0 57.739436 46.649544 104.798977 104.238982 105.44897v0.02h141.948614c23.659769 0 42.909581-19.249812 42.909581-42.909581 0.01-23.669769-19.239812-42.919581-42.909581-42.919581zM981.080419 734.892823c-23.649769 0-42.889581 19.249812-42.889581 42.909581v140.708626c0 10.829894-8.819914 19.639808-19.659808 19.639808H777.812404c-23.659769 0-42.909581 19.249812-42.909581 42.909581 0 23.659769 19.249812 42.909581 42.909581 42.909581h140.728626c58.149432 0 105.44897-47.309538 105.44897-105.44897V777.812404c0-23.669769-19.249812-42.919581-42.909581-42.919581zM777.812404 85.819162h140.698626c10.839894 0 19.659808 8.809914 19.659808 19.639808v140.718626c0 23.659769 19.249812 42.909581 42.909581 42.909581 23.659769 0 42.909581-19.249812 42.909581-42.909581V105.45897C1023.99 47.309538 976.670462 0 918.51103 0h-140.698626c-23.659769 0-42.909581 19.249812-42.909581 42.899581-0.01 23.669769 19.239812 42.919581 42.909581 42.919581zM42.919581 289.097177c23.649769 0 42.879581-19.249812 42.879581-42.899581V105.46897c0-10.829894 8.819914-19.639808 19.659808-19.639808h140.718626c23.659769 0 42.909581-19.249812 42.909581-42.909581C289.097177 19.259812 269.847365 0 246.177596 0H105.45897C47.309538 0 0 47.309538 0 105.45897v140.718626c0 23.669769 19.259812 42.919581 42.919581 42.919581z" fill="#2c2c2c" p-id="3005"></path></svg>',
                                "menu_type": "api",
                                "url": "/model_market/visual/api/"
                            },
                            {
                                "name": 'model_voice',
                                "title": __('语音'),
                                "icon": '<svg t="1664182529451" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3966" width="64" height="64"><path d="M544 851.946667V906.666667a32 32 0 0 1-64 0v-54.72C294.688 835.733333 149.333333 680.170667 149.333333 490.666667v-21.333334a32 32 0 0 1 64 0v21.333334c0 164.949333 133.717333 298.666667 298.666667 298.666666s298.666667-133.717333 298.666667-298.666666v-21.333334a32 32 0 0 1 64 0v21.333334c0 189.514667-145.354667 345.066667-330.666667 361.28zM298.666667 298.56C298.666667 180.8 394.165333 85.333333 512 85.333333c117.781333 0 213.333333 95.541333 213.333333 213.226667v192.213333C725.333333 608.533333 629.834667 704 512 704c-117.781333 0-213.333333-95.541333-213.333333-213.226667V298.56z m64 0v192.213333C362.666667 573.12 429.557333 640 512 640c82.496 0 149.333333-66.805333 149.333333-149.226667V298.56C661.333333 216.213333 594.442667 149.333333 512 149.333333c-82.496 0-149.333333 66.805333-149.333333 149.226667z" p-id="3967"></path></svg>',
                                "menu_type": "api",
                                "url": "/model_market/voice/api/"
                            },
                            {
                                "name": 'model_language',
                                "title": __('自然语言'),
                                "icon": '<svg t="1664182544584" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4180" width="64" height="64"><path d="M988.542936 354.570637c2.836565-8.509695 5.67313-17.019391 5.67313-28.365651 0-31.202216-25.529086-56.731302-56.731301-56.731302s-56.731302 25.529086-56.731302 56.731302 25.529086 56.731302 56.731302 56.731302c8.509695 36.875346 14.182825 76.587258 14.182825 113.462604 0 243.944598-198.559557 439.66759-439.66759 439.66759-76.587258 0-150.33795-19.855956-215.578947-56.731302l-11.346261-5.67313-161.68421 62.404432 73.750692-136.155125-14.182825-17.01939C114.880886 703.468144 75.168975 601.351801 75.168975 496.398892c0-243.944598 198.559557-439.66759 439.66759-439.66759 93.606648 0 181.540166 28.365651 255.290859 82.260388l-28.365651 31.202216L875.080332 201.396122l-39.711911-136.155125-28.365651 31.202216C721.905817 34.038781 616.952909 0 512 0 236.853186 0 15.601108 221.252078 15.601108 496.398892c0 110.626039 36.875346 218.415512 107.789474 306.34903L24.110803 1018.32687l255.290859-85.096953c70.914127 36.875346 153.174515 59.567867 232.598338 59.567867 275.146814 0 496.398892-224.088643 496.398892-496.398892 0-48.221607-5.67313-96.443213-19.855956-141.828255z" p-id="4181"></path><path d="M599.933518 499.235457l45.385042 138.99169H710.559557l-164.520776-453.850416h-68.077562l-164.520776 453.850416h62.404432l48.221607-138.99169h175.867036z m-138.99169-116.299169c17.019391-51.058172 34.038781-99.279778 48.221607-153.174515h2.836565c17.019391 53.894737 31.202216 102.116343 48.221607 153.174515l22.69252 68.077562h-147.501385l25.529086-68.077562zM285.074792 694.958449h453.850416v56.731302H285.074792z" p-id="4182"></path></svg>',
                                "menu_type": "api",
                                "url": "/model_market/language/api/"
                            },
                            {
                                "name": 'model_multimodal',
                                "title": __('多模态'),
                                "icon": '<svg t="1664182563495" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4370" width="64" height="64"><path d="M77.052 500.449c1.986 1.731 4.348 3.061 6.638 4.407 63.842 37.536 127.699 75.046 191.548 112.57 45.053 26.478 90.093 52.976 135.146 79.454 11.153 6.555 22.178 7.912 34.583 2.149 60.935-28.307 122.102-56.113 183.185-84.102 106.592-48.842 213.183-97.685 319.765-146.547 2.503-1.147 5.802-1.8 5.953-5.293 0.148-3.4-2.561-5.206-5.041-6.94a20.009 20.009 0 0 0-2.578-1.519c-22.502-11.156-45.011-22.299-67.517-33.448-1.345-0.667-2.517-1.19-4.158-0.325-17.448 9.199-34.947 18.3-53.044 27.748l23.55 11.819c-2.081 1.013-3.557 1.769-5.063 2.459-134.875 61.776-269.76 123.529-404.587 185.411-3.772 1.731-6.482 1.621-10.032-0.471-81.006-47.747-162.085-95.368-243.13-143.048-1.513-0.89-3.449-1.342-4.37-3.448l29.19-12.792c-17.216-9.806-33.879-19.185-50.395-28.817-2.802-1.634-4.973-1.694-7.825-0.432-17.032 7.535-34.133 14.914-51.211 22.345-6.404 2.787-12.862 5.458-19.198 8.392-5.434 2.518-5.964 6.459-1.409 10.428z" p-id="4371"></path><path d="M949.521 579.958a22.083 22.083 0 0 0-2.58-1.516c-22.358-11.074-44.725-22.129-67.077-33.215-1.552-0.77-2.862-1.146-4.618-0.219-17.343 9.154-34.739 18.208-52.718 27.602l23.52 11.779c-1.937 0.969-3.398 1.755-4.902 2.445-134.876 61.774-269.765 123.518-404.583 185.417-4.022 1.847-6.807 1.547-10.475-0.615-80.862-47.662-161.799-95.197-242.703-142.788-1.524-0.897-3.398-1.409-4.546-3.489l29.243-12.814c-17.689-10.089-34.894-19.835-52.005-29.741-2.391-1.384-4.127-0.341-6.053 0.492-13.889 6.008-27.764 12.047-41.64 18.084-9.607 4.18-19.249 8.281-28.797 12.592-5.526 2.495-6.125 6.401-1.635 10.381 1.969 1.746 4.332 3.084 6.62 4.429 73.455 43.187 146.924 86.349 220.386 129.522 35.583 20.912 71.129 41.889 106.757 62.725 9.873 5.774 20.099 8.321 31.339 3.167 168.56-77.292 337.158-154.501 505.737-231.751 2.501-1.146 5.843-1.786 6.064-5.22 0.233-3.626-2.691-5.474-5.334-7.267z" p-id="4372"></path><path d="M83.448 381.08c35.858 21.107 71.734 42.184 107.603 63.271 73.461 43.187 146.919 86.379 220.383 129.56 11.16 6.56 22.17 7.8 34.586 2.091 150.657-69.276 301.449-138.258 452.205-207.318 17.389-7.966 34.793-15.899 52.151-23.932 5.669-2.623 6.14-6.184 1.352-10.139-1.9-1.569-4.129-2.808-6.352-3.908-116.886-57.835-233.787-115.638-350.684-173.45-5.301-2.622-10.881-4.084-18.184-4.326-2.907-0.256-6.78 1.115-10.65 2.796-160.462 69.718-320.939 139.4-481.389 209.144-3.632 1.579-8.985 1.94-9.247 7.122-0.258 5.089 4.538 6.917 8.226 9.089z m100.644-5.054c129.953-56.432 259.914-112.846 389.836-169.35 3.021-1.314 5.34-1.316 8.308 0.154 86.441 42.826 172.93 85.554 259.407 128.306 1.331 0.658 2.614 1.411 4.428 2.396-14.621 6.696-28.788 13.181-42.953 19.671-122.315 56.033-244.639 112.048-366.904 168.191-3.612 1.659-6.198 1.555-9.589-0.444-81.005-47.738-162.078-95.363-243.134-143.016-1.543-0.907-3.033-1.904-5.111-3.214 2.281-1.08 3.974-1.939 5.712-2.694z" p-id="4373"></path></svg>',
                                "menu_type": "api",
                                "url": "/model_market/multimodal/api/"
                            },
                            {
                                "name": 'model_aigc',
                                "title": __('大模型'),
                                "icon": '<svg t="1682394317506" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2833" width="50" height="50"><path d="M431.207059 2.199998C335.414129 13.19899 257.420186 72.593947 219.024215 163.78688l-6.199996 14.797989-19.997985 5.799996C104.233299 210.582846 38.840347 279.776795 15.041364 372.369727c-6.999995 27.39698-8.999993 71.393948-4.199997 99.990927 7.399995 44.996967 26.597981 88.592935 53.795961 121.989911l9.198993 11.399991-5.199996 19.597986c-6.799995 26.597981-8.598994 74.593945-3.799997 103.190924 14.799989 87.392936 75.193945 163.58688 155.587886 196.383857 46.395966 18.998986 95.99193 24.797982 142.187895 16.798987l11.599992-1.999998 18.597986 17.598987c30.396978 28.596979 66.593951 48.395965 108.789921 59.994956 25.998981 6.999995 83.193939 8.999993 111.391918 3.599997 53.194961-9.799993 98.391928-33.797975 137.1889-72.794946 27.996979-28.196979 51.194963-64.393953 59.794956-93.591932 2.199998-6.999995 3.599997-8.599994 8.798993-9.799993 12.798991-2.598998 42.595969-13.39799 56.194959-20.196985 35.996974-17.998987 72.793947-49.195964 94.792931-80.593941 19.797985-28.197979 36.196973-65.993952 44.395967-102.990924 1.799999-7.799994 2.799998-24.997982 2.799998-48.995965 0-33.997975-0.6-38.796972-5.799996-58.995956-9.998993-38.795972-25.997981-71.993947-48.395964-100.190927l-10.198993-12.799991 4.399997-17.597987c26.79698-102.790925-16.798988-217.181841-105.391923-276.576797-30.996977-20.598985-58.194957-31.997977-95.59193-40.196971-22.397984-4.999996-70.993948-5.799996-91.991932-1.799998-12.399991 2.399998-12.99999 2.399998-15.799989-1.599999-4.598997-7.199995-34.795975-31.596977-52.794961-42.995969C548.196973 9.598993 486.603019-4.199997 431.207059 2.199998z m45.395967 67.793951c25.197982 2.399998 40.39697 6.399995 61.394955 16.198988 16.797988 7.799994 41.995969 23.397983 41.995969 25.997981 0 0.799999-45.595967 27.79798-101.390926 59.794956-55.995959 32.196976-104.591923 60.794955-108.19092 63.394954-14.799989 10.998992-14.399989 8.399994-14.59999 97.591928-0.2 43.995968-0.999999 110.389919-1.599998 147.387892l-1.199 67.393951-42.596968-24.397982-42.595969-24.397982 0.599999-134.988902c0.799999-154.386887 0.2-147.987892 19.597986-187.383862 29.797978-60.395956 86.792936-100.191927 151.987889-106.591922 8.199994-0.799999 15.398989-1.599999 15.998988-1.599999 0.6-0.2 9.798993 0.6 20.597985 1.599999z m268.977803 82.992939c73.393946 15.399989 132.189903 74.193946 147.387892 147.987892 3.599997 16.998988 4.599997 62.394954 1.599999 67.79495-1.199999 2.399998-22.797983-9.399993-108.590921-59.394957-105.391923-61.394955-107.191921-62.394954-117.989913-62.394954-10.799992 0-13.19999 1.399999-137.989899 73.593946l-126.989907 73.393946-0.599-49.395963c-0.2-27.19798 0.2-49.995963 1-50.795963 3.799997-3.599997 209.182847-121.189911 223.581836-127.989906 35.796974-16.797988 77.992943-21.397984 118.589913-12.798991z m-537.955606 362.369735c3.199998 4.599997 37.596972 25.398981 130.389904 78.993942 69.393949 39.796971 125.988908 72.993947 125.988908 73.593946 0 0.6-5.599996 4.199997-12.598991 8.199994-6.799995 3.799997-25.997981 14.797989-42.596968 24.397982l-30.196978 17.597987-107.790921-62.194954c-59.194957-34.196975-114.589916-67.393951-122.78991-73.793946-29.397978-22.597983-56.395959-63.793953-66.194952-101.190926-6.199995-24.197982-7.199995-60.794955-2.199998-84.992938 7.599994-36.996973 23.397983-66.994951 49.195964-93.792931 17.398987-17.997987 33.197976-29.396978 55.195959-40.195971l16.997988-8.199994 0.999999 127.589907 0.999999 127.589906 4.599997 6.398996zM750.379825 367.169731c56.394959 32.596976 108.389921 62.994954 115.589916 67.593951 43.396968 28.597979 73.593946 75.793944 81.99294 127.989906 3.599997 21.597984 1.599999 61.994955-3.999997 80.992941-8.998993 31.397977-24.996982 58.995957-47.594966 82.593939-17.598987 18.397987-48.195965 38.995971-65.794951 44.395967l-4.599997 1.399999v-124.189909c0-138.188899 0.4-133.389902-13.59899-143.387895-4.399997-2.999998-62.393954-37.196973-128.988906-75.593944-66.594951-38.596972-121.189911-70.393948-121.189911-70.993948-0.2-0.799999 83.592939-49.795964 85.192938-49.995964 0.4 0 46.595966 26.597981 102.991924 59.194957z m-181.385867 50.195963l54.99596 31.596977v127.989906l-55.19596 31.596977-55.194959 31.797977-39.196971-22.598983c-21.797984-12.398991-46.795966-26.99698-55.994959-32.196977l-16.398988-9.799993 0.399999-63.393953 0.6-63.394954 53.99496-31.396977c29.797978-17.198987 54.79596-31.397977 55.59596-31.397977 0.799999-0.2 26.197981 13.99999 56.394958 31.197977z m147.587892 85.592938l41.39697 23.797982v127.389907c0 139.787898-0.4 146.187893-11.999991 178.384869-11.597992 31.796977-36.595973 65.394952-64.593953 86.592937-6.799995 5.199996-21.397984 13.79899-32.396976 18.997986-51.995962 24.997982-109.59092 25.597981-162.586881 1.799999-12.598991-5.799996-40.39697-23.397983-40.396971-25.797982 0-0.6 46.996966-28.196979 104.191924-61.194955 57.394958-32.996976 107.190921-62.794954 110.789919-66.193951 3.799997-3.799997 7.399995-9.999993 8.799993-15.399989 1.599999-6.398995 2.199998-50.994963 2.199999-151.386889 0-78.392943 0.799999-141.987896 1.599999-141.587896 0.799999 0.2 20.197985 11.398992 42.995968 24.597982zM622.590919 732.139464c-3.799997 3.599997-205.38285 119.189913-221.781838 126.989907-26.597981 12.798991-47.995965 17.397987-79.792941 17.397987-19.798985 0-30.197978-0.999999-43.596968-4.199997-68.59395-16.997988-120.589912-66.193952-140.587897-133.787902-5.599996-18.798986-8.599994-57.395958-5.999996-75.193945l1.399999-9.199993 50.395963 29.197979c174.185872 100.391926 165.185879 95.59193 176.185871 95.591929 9.598993-0.2 16.597988-3.799997 137.1879-73.393946l126.989907-73.393946 0.599999 49.395964c0.2 26.99798-0.2 49.795964-0.999999 50.595963z" p-id="2834"></path></svg>',
                                "menu_type": "api",
                                "url": "/model_market/aigc/api/"
                            },
                        ]
                    },
                    {
                        "name": 'business_market',
                        "title": __('需求市场'),
                        "icon": '<svg t="1660896350755" class="icon" viewBox="0 0 1075 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="11649" width="200" height="200"><path d="M563.2 998.64381H102.4c-14.140952 0-25.35619-11.215238-25.35619-25.356191V204.8c0-42.422857 34.620952-77.04381 77.043809-77.04381h358.4c42.422857 0 76.55619 34.620952 76.556191 77.04381v768a26.331429 26.331429 0 0 1-25.84381 25.84381z m-435.44381-51.68762h409.6V204.8c0-14.140952-11.702857-25.84381-25.35619-25.84381H153.6c-14.140952 0-25.84381 11.702857-25.84381 25.84381v742.15619z" p-id="11650"></path><path d="M870.4 998.64381h-307.2c-14.140952 0-25.84381-11.215238-25.84381-25.356191v-409.6c0-42.422857 34.620952-76.55619 77.04381-76.55619h204.8c42.422857 0 77.04381 34.620952 77.04381 76.55619v409.6c0 13.653333-11.702857 25.35619-25.84381 25.356191z m-281.84381-51.68762h256v-383.75619c0-14.140952-11.702857-25.84381-25.843809-25.84381h-204.8c-14.140952 0-25.84381 11.702857-25.84381 25.84381v383.75619z" p-id="11651"></path><path d="M435.44381 537.35619H204.8c-14.140952 0-25.35619-11.215238-25.35619-25.35619s11.215238-25.35619 25.35619-25.35619h230.64381c14.140952 0 25.35619 11.215238 25.35619 25.35619s-11.215238 25.35619-25.35619 25.35619z" p-id="11652"></path><path d="M435.44381 384.24381H204.8c-14.140952 0-25.35619-11.215238-25.35619-25.84381s11.215238-25.84381 25.35619-25.84381h230.64381c14.140952 0 25.35619 11.215238 25.35619 25.84381s-11.215238 25.84381-25.35619 25.84381z" p-id="11653"></path><path d="M435.44381 691.44381H204.8c-14.140952 0-25.35619-11.215238-25.35619-25.84381 0-14.140952 11.215238-25.35619 25.35619-25.35619h230.64381c14.140952 0 25.35619 11.215238 25.35619 25.35619 0 14.140952-11.215238 25.84381-25.35619 25.84381z" p-id="11654"></path><path d="M435.44381 845.04381H204.8c-14.140952 0-25.35619-11.215238-25.35619-25.84381 0-14.140952 11.215238-25.84381 25.35619-25.84381h230.64381c14.140952 0 25.35619 11.215238 25.35619 25.84381 0 14.140952-11.215238 25.84381-25.35619 25.84381z" p-id="11655"></path><path d="M768 691.44381h-102.4c-14.140952 0-25.35619-11.215238-25.35619-25.84381 0-14.140952 11.215238-25.35619 25.35619-25.35619h102.4c14.140952 0 25.35619 11.215238 25.35619 25.35619 0 14.140952-11.215238 25.84381-25.35619 25.84381z" p-id="11656"></path><path d="M768 845.04381h-102.4c-14.140952 0-25.35619-11.215238-25.35619-25.84381 0-14.140952 11.215238-25.84381 25.35619-25.84381h102.4c14.140952 0 25.35619 11.215238 25.35619 25.84381 0 14.140952-11.215238 25.84381-25.35619 25.84381z" p-id="11657"></path><path d="M950.857143 999.619048H24.380952c-13.653333 0-24.380952-10.727619-24.380952-24.380953s10.727619-24.380952 24.380952-24.380952h926.476191c13.653333 0 24.380952 10.727619 24.380952 24.380952s-10.727619 24.380952-24.380952 24.380953z" p-id="11658"></path></svg>',
                        "menu_type": "api",
                        'hidden': 0,
                        "disable": True
                    }
                ]
            }
        # chat
        # 隐藏菜单
        chat= {
            "name": 'startchat',
            "title": __('数据智能'),
            "isMenu": True,
            'hidden': 1,
            "isExpand": True,
            'isMenuCollapsed': False,
            'isCollapsed': True,
            "icon": '<svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2"><path d="M474.123 209.81c11.525-34.577 7.569-72.423-10.838-103.904-27.696-48.168-83.433-72.94-137.794-61.414a127.14 127.14 0 00-95.475-42.49c-55.564 0-104.936 35.781-122.139 88.593-35.781 7.397-66.574 29.76-84.637 61.414-27.868 48.167-21.503 108.72 15.826 150.007-11.525 34.578-7.569 72.424 10.838 103.733 27.696 48.34 83.433 73.111 137.966 61.585 24.084 27.18 58.833 42.835 95.303 42.663 55.564 0 104.936-35.782 122.139-88.594 35.782-7.397 66.574-29.76 84.465-61.413 28.04-48.168 21.676-108.722-15.654-150.008v-.172zm-39.567-87.218c11.01 19.267 15.139 41.803 11.354 63.65-.688-.516-2.064-1.204-2.924-1.72l-101.152-58.49a16.965 16.965 0 00-16.687 0L206.621 194.5v-50.232l97.883-56.597c45.587-26.32 103.732-10.666 130.052 34.921zm-227.935 104.42l49.888-28.9 49.887 28.9v57.63l-49.887 28.9-49.888-28.9v-57.63zm23.223-191.81c22.364 0 43.867 7.742 61.07 22.02-.688.344-2.064 1.204-3.097 1.72L186.666 117.26c-5.161 2.925-8.258 8.43-8.258 14.45v136.934l-43.523-25.116V130.333c0-52.64 42.491-95.13 95.131-95.302l-.172.172zM52.14 168.697c11.182-19.268 28.557-34.062 49.544-41.803V247.14c0 6.02 3.097 11.354 8.258 14.45l118.354 68.295-43.695 25.288-97.711-56.425c-45.415-26.32-61.07-84.465-34.75-130.052zm26.665 220.71c-11.182-19.095-15.139-41.802-11.354-63.65.688.516 2.064 1.204 2.924 1.72l101.152 58.49a16.965 16.965 0 0016.687 0l118.354-68.467v50.232l-97.883 56.425c-45.587 26.148-103.732 10.665-130.052-34.75h.172zm204.54 87.39c-22.192 0-43.867-7.741-60.898-22.02a62.439 62.439 0 003.097-1.72l101.152-58.317c5.16-2.924 8.429-8.43 8.257-14.45V243.527l43.523 25.116v113.022c0 52.64-42.663 95.303-95.131 95.303v-.172zM461.22 343.303c-11.182 19.267-28.729 34.061-49.544 41.63V264.687c0-6.021-3.097-11.526-8.257-14.45L284.893 181.77l43.523-25.116 97.883 56.424c45.587 26.32 61.07 84.466 34.75 130.053l.172.172z" fill-rule="nonzero"/></svg>',
            "children": [
                {
                    "name": 'chat',
                    "title": __('聊天'),
                    "icon": '<svg t="1676972364091" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1752" width="200" height="200"><path d="M0 0h1024v1024H0z" fill="#FFFFFF" fill-opacity="0" p-id="1753"></path><path d="M198.144 198.144a352.554667 352.554667 0 0 1 520.192 474.922667l200.277333 200.277333a32 32 0 1 1-45.269333 45.269333l-200.277333-200.277333A352.554667 352.554667 0 0 1 198.144 198.144zM448 160a288 288 0 0 0-288 288 288.341333 288.341333 0 0 0 288 288 288 288 0 1 0 0-576z" fill="#41416E" p-id="1754"></path></svg>',
                    "menu_type": "iframe",
                    "isExpand": True,
                    'isMenuCollapsed': False,
                    'isCollapsed': True,
                    "url": '/frontend/distChat/',
                }
            ]
        }
        is_admin = False
        if g.user and (g.user.username in conf.get('ADMIN_USER', '').split(',')):
            is_admin=True

        security_setting = {
            "name": 'security',
            "title": __('安全设置(管理员)'),
            "isMenu": True,
            "isExpand": True,
            "children": [
                {
                    "name": 'security-user',
                    "title": __('用户列表'),
                    "icon": '<svg t="1653295961491" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4397" width="200" height="200"><path d="M545.784454 962.539206l-65.943898 0c-29.341259 0-54.624085-25.281803-54.624085-54.615898L425.216471 868.462574c0-9.623171-7.826246-20.911262-16.690124-23.680329l-1.566682-0.611937-55.725162-23.104207-0.880043-0.494257c-8.153704-4.41045-22.017456-2.376117-28.55229 4.187369l-28.17469 28.123524c-9.930163 9.977235-23.239284 15.494902-37.432541 15.494902-14.195304 0-27.507494-5.517667-37.487799-15.541975l-46.682205-46.630017c-20.60427-20.603247-20.6319-54.233182-0.069585-74.974575l28.15013-28.106128c6.637164-6.574742 8.676613-20.599154 4.253884-28.909423l-0.831948-1.768273-23.164582-56.128345-0.26913-0.682545c-2.803859-9.03477-14.279215-17.394159-23.611767-17.394159l-39.631626 0c-29.391401 0-52.861952-24.065092-52.861952-53.193503l0-65.943898c0-28.770254 22.998807-51.754734 52.919257-51.754734l39.575344 0c9.081843 0 20.803815-8.830109 23.666002-18.057261l0.567935-1.476631 23.163559-57.088206 0.505513-0.913812c4.40431-8.220219 2.319835-22.224164-4.2897-28.830629l-28.04166-28.087709c-9.964956-9.921977-15.486716-23.216771-15.502066-37.396725-0.01535-14.201443 5.492084-27.53717 15.507182-37.552268l46.6556-46.614667c9.94142-9.985422 23.248494-15.503089 37.432541-15.503089 0.001023 0 0 0 0.001023 0 14.184047 0 27.490098 5.51869 37.46938 15.540951l28.039613 28.05087c6.557346 6.525624 20.500916 8.596795 28.655643 4.231371l0.893346-0.478907 57.375755-23.64963c8.836249-2.731204 16.634866-14.037714 16.634866-23.719214l0-39.632649c0-28.967752 24.777313-52.095495 54.624085-52.095495L545.784454 64.076364c29.161157 0 52.370765 22.636556 52.370765 52.095495l0 39.632649c0 9.127891 8.709359 20.85498 17.767666 23.674189l1.51654 0.577145 56.639998 23.113417 0.923022 0.509606c8.202822 4.424776 22.184255 2.353604 28.788673-4.254907l28.163433-27.912723c9.895371-9.94142 23.179932-15.33936 37.352723-15.33936 0.019443 0 0.040932 0 0.060375 0 14.18814 0 27.508517 5.375427 37.516452 15.384385l46.709835 46.554292c10.004865 9.960863 15.524578 23.254633 15.524578 37.47552 0 14.18814-5.498224 27.506471-15.479553 37.532825l-28.16855 28.152177c-6.580882 6.610558-8.640798 20.771069-4.204765 29.107945l0.478907 0.896416 23.654746 57.956993c2.902096 9.255805 14.635325 18.114566 23.686469 18.114566l39.132252 0 0-0.573051c27.629267 0 52.188616 22.984481 52.188616 52.327786l0 65.998133c0 29.590945-22.985504 53.138244-51.746548 53.138244l-39.630602 0c-9.337669 0-20.84884 8.372691-23.686469 17.423835l-0.580215 1.51654-23.086811 56.240909-0.468674 0.860601c-4.419659 8.30413-2.393513 22.320355 4.169973 28.855188l28.135804 28.02017c10.031471 10.029424 15.539928 23.350824 15.537881 37.541011-0.004093 14.186094-5.514597 27.505447-15.518438 37.505195l-46.747697 46.682205c-9.920954 9.964956-23.219841 15.506159-37.406958 15.506159-0.019443 0-0.040932 0-0.060375 0-14.192234 0-27.514657-5.514597-37.518498-15.517415l-28.039613-28.095895c-6.490831-6.490831-20.807908-8.575306-28.887934-4.206812l-0.951675 0.514723-57.93755 23.680329c-9.087982 2.859118-17.823947 14.594393-17.823947 23.691585l0 39.460734C598.155219 937.76394 574.45954 962.539206 545.784454 962.539206zM421.86719 806.892287c25.192775 8.370645 44.282552 34.650171 44.282552 61.570287l0 39.460734c0 7.114025 6.569626 13.68365 13.691837 13.68365L545.784454 921.606958c6.496971 0 12.461823-6.043646 12.461823-13.68365L558.246277 868.462574c0-26.273387 19.516496-53.131081 44.901653-61.58052l53.859675-22.062482c23.62814-12.116969 56.342216-7.098675 75.118861 11.6749l28.009937 28.1532c2.432399 2.430352 5.678326 3.837398 9.179057 3.837398 0.00614 0 0.011256 0 0.01535 0 3.482311 0 6.726192-1.39886 9.135054-3.820002l46.780443-46.738487c2.436492-2.436492 3.783163-5.724375 3.78521-9.224082 0-3.495614-1.344624-6.774287-3.787256-9.216919l-28.106128-27.998681c-18.693758-18.609847-23.762193-51.349505-11.773138-75.036997l22.083971-53.603849c8.374738-25.167193 35.224246-44.51382 61.578474-44.51382l39.630602 0c7.745405 0 10.8143-7.086395 10.8143-13.229303l0-65.998133c0-6.862291-5.116531-12.07399-11.256368-12.302187l0 1.479701-39.132252 0c-26.236548 0-53.099359-20.149922-61.585637-45.735647l-22.083971-54.261834c-11.960403-23.654746-6.913457-56.502875 11.728112-75.228355l28.16855-28.192086c2.430352-2.441609 3.78828-5.764284 3.78828-9.295714 0-3.498684-1.334391-6.762007-3.759627-9.17394l-46.741557-46.577828c-2.462075-2.462075-5.736655-3.734044-9.234315-3.734044-0.004093 0-0.010233 0-0.013303 0-3.465938 0-6.700609 1.255597-9.105379 3.671623l-28.198226 28.037567c-18.703991 18.710131-51.417043 23.734564-75.000158 11.69025l-53.865815-22.072715c-25.403576-8.388041-44.934398-35.255968-44.934398-61.60508l0-39.632649c0-7.253194-5.517667-12.186554-12.461823-12.186554l-65.943898 0c-7.517207 0-13.691837 5.51869-13.691837 12.186554l0 39.632649c0 27.027563-19.107173 53.336766-44.325531 61.643965l-53.501518 21.99699c-23.834848 12.168134-55.857169 7.234775-74.878384-11.69639l-28.130687-28.115338c-2.441609-2.451842-5.690606-3.787256-9.152451-3.787256-3.462868-0.001023-6.704702 1.334391-9.117658 3.758604l-46.690392 46.64639c-2.438539 2.438539-3.784186 5.710049-3.781116 9.207709 0.004093 3.474125 1.339508 6.716982 3.762697 9.128915l28.068266 28.121478c18.698874 18.690688 23.782659 51.389414 11.808954 74.973552l-22.124903 54.813397c-8.413624 25.616424-35.281551 45.783743-61.603033 45.783743l-39.575344 0c-6.630001 0-13.010315 3.411703-13.010315 10.822486l0 65.943898c0 6.942109 5.753027 13.284561 12.95301 13.284561l39.631626 0c26.380834 0 53.195549 19.35072 61.524239 44.537356l22.182208 53.629431c12.027941 23.731494 6.918573 56.449663-11.863189 75.05644l-28.022217 27.949562c-5.021364 5.066389-5.048993 13.348006 0.010233 18.409279l46.713928 46.653553c2.452865 2.464121 5.695722 3.794419 9.168824 3.794419 3.472078 0 6.711865-1.336438 9.124821-3.759627l28.181853-28.122501c18.641569-18.730597 51.440579-23.752983 75.011414-11.642155L421.86719 806.892287z" p-id="4398"></path><path d="M513.734504 731.880873c-120.639614 0-218.786958-98.147344-218.786958-218.786958s98.147344-218.786958 218.786958-218.786958 218.786958 98.147344 218.786958 218.786958S634.375142 731.880873 513.734504 731.880873zM513.734504 334.324368c-98.573039 0-178.769546 80.195483-178.769546 178.769546s80.195483 178.769546 178.769546 178.769546 178.769546-80.195483 178.769546-178.769546S612.308567 334.324368 513.734504 334.324368z" p-id="4399"></path></svg>',
                    "menu_type": "iframe",
                    "url": '/users/list/?_flt_2_username=',
                    "disable":not is_admin
                },
                {
                    "name": 'security-logs',
                    "title": __('日志列表'),
                    "icon": '<svg t="1653295961491" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4397" width="200" height="200"><path d="M545.784454 962.539206l-65.943898 0c-29.341259 0-54.624085-25.281803-54.624085-54.615898L425.216471 868.462574c0-9.623171-7.826246-20.911262-16.690124-23.680329l-1.566682-0.611937-55.725162-23.104207-0.880043-0.494257c-8.153704-4.41045-22.017456-2.376117-28.55229 4.187369l-28.17469 28.123524c-9.930163 9.977235-23.239284 15.494902-37.432541 15.494902-14.195304 0-27.507494-5.517667-37.487799-15.541975l-46.682205-46.630017c-20.60427-20.603247-20.6319-54.233182-0.069585-74.974575l28.15013-28.106128c6.637164-6.574742 8.676613-20.599154 4.253884-28.909423l-0.831948-1.768273-23.164582-56.128345-0.26913-0.682545c-2.803859-9.03477-14.279215-17.394159-23.611767-17.394159l-39.631626 0c-29.391401 0-52.861952-24.065092-52.861952-53.193503l0-65.943898c0-28.770254 22.998807-51.754734 52.919257-51.754734l39.575344 0c9.081843 0 20.803815-8.830109 23.666002-18.057261l0.567935-1.476631 23.163559-57.088206 0.505513-0.913812c4.40431-8.220219 2.319835-22.224164-4.2897-28.830629l-28.04166-28.087709c-9.964956-9.921977-15.486716-23.216771-15.502066-37.396725-0.01535-14.201443 5.492084-27.53717 15.507182-37.552268l46.6556-46.614667c9.94142-9.985422 23.248494-15.503089 37.432541-15.503089 0.001023 0 0 0 0.001023 0 14.184047 0 27.490098 5.51869 37.46938 15.540951l28.039613 28.05087c6.557346 6.525624 20.500916 8.596795 28.655643 4.231371l0.893346-0.478907 57.375755-23.64963c8.836249-2.731204 16.634866-14.037714 16.634866-23.719214l0-39.632649c0-28.967752 24.777313-52.095495 54.624085-52.095495L545.784454 64.076364c29.161157 0 52.370765 22.636556 52.370765 52.095495l0 39.632649c0 9.127891 8.709359 20.85498 17.767666 23.674189l1.51654 0.577145 56.639998 23.113417 0.923022 0.509606c8.202822 4.424776 22.184255 2.353604 28.788673-4.254907l28.163433-27.912723c9.895371-9.94142 23.179932-15.33936 37.352723-15.33936 0.019443 0 0.040932 0 0.060375 0 14.18814 0 27.508517 5.375427 37.516452 15.384385l46.709835 46.554292c10.004865 9.960863 15.524578 23.254633 15.524578 37.47552 0 14.18814-5.498224 27.506471-15.479553 37.532825l-28.16855 28.152177c-6.580882 6.610558-8.640798 20.771069-4.204765 29.107945l0.478907 0.896416 23.654746 57.956993c2.902096 9.255805 14.635325 18.114566 23.686469 18.114566l39.132252 0 0-0.573051c27.629267 0 52.188616 22.984481 52.188616 52.327786l0 65.998133c0 29.590945-22.985504 53.138244-51.746548 53.138244l-39.630602 0c-9.337669 0-20.84884 8.372691-23.686469 17.423835l-0.580215 1.51654-23.086811 56.240909-0.468674 0.860601c-4.419659 8.30413-2.393513 22.320355 4.169973 28.855188l28.135804 28.02017c10.031471 10.029424 15.539928 23.350824 15.537881 37.541011-0.004093 14.186094-5.514597 27.505447-15.518438 37.505195l-46.747697 46.682205c-9.920954 9.964956-23.219841 15.506159-37.406958 15.506159-0.019443 0-0.040932 0-0.060375 0-14.192234 0-27.514657-5.514597-37.518498-15.517415l-28.039613-28.095895c-6.490831-6.490831-20.807908-8.575306-28.887934-4.206812l-0.951675 0.514723-57.93755 23.680329c-9.087982 2.859118-17.823947 14.594393-17.823947 23.691585l0 39.460734C598.155219 937.76394 574.45954 962.539206 545.784454 962.539206zM421.86719 806.892287c25.192775 8.370645 44.282552 34.650171 44.282552 61.570287l0 39.460734c0 7.114025 6.569626 13.68365 13.691837 13.68365L545.784454 921.606958c6.496971 0 12.461823-6.043646 12.461823-13.68365L558.246277 868.462574c0-26.273387 19.516496-53.131081 44.901653-61.58052l53.859675-22.062482c23.62814-12.116969 56.342216-7.098675 75.118861 11.6749l28.009937 28.1532c2.432399 2.430352 5.678326 3.837398 9.179057 3.837398 0.00614 0 0.011256 0 0.01535 0 3.482311 0 6.726192-1.39886 9.135054-3.820002l46.780443-46.738487c2.436492-2.436492 3.783163-5.724375 3.78521-9.224082 0-3.495614-1.344624-6.774287-3.787256-9.216919l-28.106128-27.998681c-18.693758-18.609847-23.762193-51.349505-11.773138-75.036997l22.083971-53.603849c8.374738-25.167193 35.224246-44.51382 61.578474-44.51382l39.630602 0c7.745405 0 10.8143-7.086395 10.8143-13.229303l0-65.998133c0-6.862291-5.116531-12.07399-11.256368-12.302187l0 1.479701-39.132252 0c-26.236548 0-53.099359-20.149922-61.585637-45.735647l-22.083971-54.261834c-11.960403-23.654746-6.913457-56.502875 11.728112-75.228355l28.16855-28.192086c2.430352-2.441609 3.78828-5.764284 3.78828-9.295714 0-3.498684-1.334391-6.762007-3.759627-9.17394l-46.741557-46.577828c-2.462075-2.462075-5.736655-3.734044-9.234315-3.734044-0.004093 0-0.010233 0-0.013303 0-3.465938 0-6.700609 1.255597-9.105379 3.671623l-28.198226 28.037567c-18.703991 18.710131-51.417043 23.734564-75.000158 11.69025l-53.865815-22.072715c-25.403576-8.388041-44.934398-35.255968-44.934398-61.60508l0-39.632649c0-7.253194-5.517667-12.186554-12.461823-12.186554l-65.943898 0c-7.517207 0-13.691837 5.51869-13.691837 12.186554l0 39.632649c0 27.027563-19.107173 53.336766-44.325531 61.643965l-53.501518 21.99699c-23.834848 12.168134-55.857169 7.234775-74.878384-11.69639l-28.130687-28.115338c-2.441609-2.451842-5.690606-3.787256-9.152451-3.787256-3.462868-0.001023-6.704702 1.334391-9.117658 3.758604l-46.690392 46.64639c-2.438539 2.438539-3.784186 5.710049-3.781116 9.207709 0.004093 3.474125 1.339508 6.716982 3.762697 9.128915l28.068266 28.121478c18.698874 18.690688 23.782659 51.389414 11.808954 74.973552l-22.124903 54.813397c-8.413624 25.616424-35.281551 45.783743-61.603033 45.783743l-39.575344 0c-6.630001 0-13.010315 3.411703-13.010315 10.822486l0 65.943898c0 6.942109 5.753027 13.284561 12.95301 13.284561l39.631626 0c26.380834 0 53.195549 19.35072 61.524239 44.537356l22.182208 53.629431c12.027941 23.731494 6.918573 56.449663-11.863189 75.05644l-28.022217 27.949562c-5.021364 5.066389-5.048993 13.348006 0.010233 18.409279l46.713928 46.653553c2.452865 2.464121 5.695722 3.794419 9.168824 3.794419 3.472078 0 6.711865-1.336438 9.124821-3.759627l28.181853-28.122501c18.641569-18.730597 51.440579-23.752983 75.011414-11.642155L421.86719 806.892287z" p-id="4398"></path><path d="M513.734504 731.880873c-120.639614 0-218.786958-98.147344-218.786958-218.786958s98.147344-218.786958 218.786958-218.786958 218.786958 98.147344 218.786958 218.786958S634.375142 731.880873 513.734504 731.880873zM513.734504 334.324368c-98.573039 0-178.769546 80.195483-178.769546 178.769546s80.195483 178.769546 178.769546 178.769546 178.769546-80.195483 178.769546-178.769546S612.308567 334.324368 513.734504 334.324368z" p-id="4399"></path></svg>',
                    "menu_type": "iframe",
                    "url": '/logmodelview/list/',
                    "disable": not is_admin
                },

            ]
        }

        resource_setting = {
            "name": 'resource',
            "title": __('资源配置(管理员)'),
            "isMenu": True,
            "isExpand": True,
            "children": [
                {
                    "name": 'resource-node',
                    "title": __('机器资源'),
                    "icon": '<svg t="1686900961152" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4567" width="200" height="200"><path d="M918.905263 328.757895c35.031579 0 61.978947-26.947368 61.978948-61.978948V97.010526c0-32.336842-26.947368-61.978947-61.978948-61.978947H105.094737c-35.031579 0-61.978947 26.947368-61.978948 61.978947V269.473684c0 35.031579 26.947368 61.978947 61.978948 61.978948h72.757895v35.031579H105.094737c-35.031579 0-61.978947 26.947368-61.978948 61.978947v172.463158c0 35.031579 26.947368 61.978947 61.978948 61.978947h72.757895v35.031579H105.094737c-35.031579 0-61.978947 26.947368-61.978948 61.978947v172.463158c0 35.031579 26.947368 61.978947 61.978948 61.978948H916.210526c35.031579 0 61.978947-26.947368 61.978948-61.978948V754.526316c0-32.336842-26.947368-61.978947-61.978948-61.978948h-72.757894v-35.031579H916.210526c35.031579 0 61.978947-26.947368 61.978948-61.978947v-172.463158c0-32.336842-26.947368-61.978947-61.978948-61.978947h-72.757894v-35.031579h75.452631zM80.842105 269.473684V97.010526c0-13.473684 10.778947-24.252632 24.252632-24.252631h813.810526c13.473684 0 24.252632 10.778947 24.252632 24.252631V269.473684c0 13.473684-10.778947 24.252632-24.252632 24.252632H105.094737c-13.473684-2.694737-24.252632-10.778947-24.252632-24.252632z m862.31579 485.052632v172.463158c0 13.473684-10.778947 24.252632-24.252632 24.252631H105.094737c-13.473684 0-24.252632-10.778947-24.252632-24.252631V754.526316c0-13.473684 10.778947-24.252632 24.252632-24.252632h813.810526c13.473684 2.694737 24.252632 10.778947 24.252632 24.252632z m-134.736842-59.284211H215.578947v-35.031579h592.842106v35.031579z m134.736842-269.473684v172.463158c0 13.473684-10.778947 24.252632-24.252632 24.252632H105.094737c-13.473684 0-24.252632-10.778947-24.252632-24.252632v-172.463158c0-13.473684 10.778947-24.252632 24.252632-24.252632h813.810526c13.473684 0 24.252632 10.778947 24.252632 24.252632z m-134.736842-61.978947H215.578947v-35.031579h592.842106v35.031579z" fill="#101010" p-id="4568"></path><path d="M388.042105 183.242105c0-10.778947-8.084211-18.863158-18.863158-18.863158H150.905263c-10.778947 0-18.863158 8.084211-18.863158 18.863158s8.084211 18.863158 18.863158 18.863158h218.273684c10.778947 0 18.863158-8.084211 18.863158-18.863158zM576.673684 234.442105c26.947368 0 51.2-21.557895 51.2-51.2 0-26.947368-21.557895-51.2-51.2-51.2s-51.2 21.557895-51.2 51.2c0 26.947368 24.252632 51.2 51.2 51.2z m0-64.673684c8.084211 0 13.473684 5.389474 13.473684 13.473684s-5.389474 13.473684-13.473684 13.473684-13.473684-8.084211-13.473684-13.473684c0-8.084211 5.389474-13.473684 13.473684-13.473684zM708.715789 234.442105c26.947368 0 51.2-21.557895 51.2-51.2 0-26.947368-21.557895-51.2-51.2-51.2-26.947368 0-51.2 21.557895-51.2 51.2 0 26.947368 24.252632 51.2 51.2 51.2z m0-64.673684c8.084211 0 13.473684 5.389474 13.473685 13.473684s-5.389474 13.473684-13.473685 13.473684-13.473684-8.084211-13.473684-13.473684c0-8.084211 5.389474-13.473684 13.473684-13.473684zM840.757895 234.442105c26.947368 0 51.2-21.557895 51.2-51.2 0-26.947368-21.557895-51.2-51.2-51.2-26.947368 0-51.2 21.557895-51.2 51.2 0 26.947368 21.557895 51.2 51.2 51.2z m0-64.673684c8.084211 0 13.473684 5.389474 13.473684 13.473684s-5.389474 13.473684-13.473684 13.473684-13.473684-8.084211-13.473684-13.473684c0-8.084211 5.389474-13.473684 13.473684-13.473684zM369.178947 493.136842H150.905263c-10.778947 0-18.863158 8.084211-18.863158 18.863158s8.084211 18.863158 18.863158 18.863158h218.273684c10.778947 0 18.863158-8.084211 18.863158-18.863158s-8.084211-18.863158-18.863158-18.863158zM576.673684 460.8c-26.947368 0-51.2 21.557895-51.2 51.2 0 26.947368 21.557895 51.2 51.2 51.2s51.2-21.557895 51.2-51.2c0-26.947368-24.252632-51.2-51.2-51.2z m0 64.673684c-8.084211 0-13.473684-5.389474-13.473684-13.473684s5.389474-13.473684 13.473684-13.473684 13.473684 5.389474 13.473684 13.473684-5.389474 13.473684-13.473684 13.473684zM708.715789 460.8c-26.947368 0-51.2 21.557895-51.2 51.2 0 26.947368 21.557895 51.2 51.2 51.2 26.947368 0 51.2-21.557895 51.2-51.2 0-26.947368-24.252632-51.2-51.2-51.2z m0 64.673684c-8.084211 0-13.473684-5.389474-13.473684-13.473684s5.389474-13.473684 13.473684-13.473684 13.473684 5.389474 13.473685 13.473684-5.389474 13.473684-13.473685 13.473684zM789.557895 512c0 26.947368 21.557895 51.2 51.2 51.2 26.947368 0 51.2-21.557895 51.2-51.2 0-26.947368-21.557895-51.2-51.2-51.2-29.642105 0-51.2 24.252632-51.2 51.2z m51.2-13.473684c8.084211 0 13.473684 5.389474 13.473684 13.473684s-5.389474 13.473684-13.473684 13.473684-13.473684-5.389474-13.473684-13.473684 5.389474-13.473684 13.473684-13.473684zM369.178947 821.894737H150.905263c-10.778947 0-18.863158 8.084211-18.863158 18.863158s8.084211 18.863158 18.863158 18.863158h218.273684c10.778947 0 18.863158-8.084211 18.863158-18.863158s-8.084211-18.863158-18.863158-18.863158zM576.673684 789.557895c-26.947368 0-51.2 21.557895-51.2 51.2s21.557895 51.2 51.2 51.2 51.2-21.557895 51.2-51.2-24.252632-51.2-51.2-51.2z m0 64.673684c-8.084211 0-13.473684-5.389474-13.473684-13.473684s5.389474-13.473684 13.473684-13.473684 13.473684 5.389474 13.473684 13.473684-5.389474 13.473684-13.473684 13.473684zM708.715789 789.557895c-26.947368 0-51.2 21.557895-51.2 51.2s21.557895 51.2 51.2 51.2c26.947368 0 51.2-21.557895 51.2-51.2s-24.252632-51.2-51.2-51.2z m0 64.673684c-8.084211 0-13.473684-5.389474-13.473684-13.473684s5.389474-13.473684 13.473684-13.473684 13.473684 5.389474 13.473685 13.473684-5.389474 13.473684-13.473685 13.473684zM789.557895 840.757895c0 26.947368 21.557895 51.2 51.2 51.2 26.947368 0 51.2-21.557895 51.2-51.2s-21.557895-51.2-51.2-51.2c-29.642105 0-51.2 24.252632-51.2 51.2z m51.2-13.473684c8.084211 0 13.473684 5.389474 13.473684 13.473684s-5.389474 13.473684-13.473684 13.473684-13.473684-5.389474-13.473684-13.473684 5.389474-13.473684 13.473684-13.473684z" fill="#101010" p-id="4569"></path></svg>',
                    "menu_type": "api",
                    "url": "/node_modelview/api/",
                    "disable": True
                },
                {
                    "name": 'resource-store',
                    "title": __('存储资源'),
                    "icon": '<svg t="1686900985267" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5608" width="200" height="200"><path d="M810.666667 362.666667c0-46.933333-38.4-85.333333-85.333334-85.333334H469.333333c-12.8 0-25.6-6.4-34.133333-17.066666l-59.733333-74.666667c-8.533333-8.533333-21.333333-14.933333-34.133334-14.933333H128c-46.933333 0-85.333333 38.4-85.333333 85.333333v149.333333h768v-42.666666zM533.333333 661.333333c0-76.8 34.133333-145.066667 87.466667-192H42.666667v298.666667c0 46.933333 38.4 85.333333 85.333333 85.333333h492.8c-53.333333-46.933333-87.466667-115.2-87.466667-192z" p-id="5609"></path><path d="M789.333333 469.333333c-106.666667 0-192 85.333333-192 192s85.333333 192 192 192 192-85.333333 192-192-85.333333-192-192-192z m-21.333333 85.333334h42.666667v21.333333c0 12.8-8.533333 21.333333-21.333334 21.333333s-21.333333-8.533333-21.333333-21.333333v-21.333333z m128 170.666666c0 23.466667-19.2 42.666667-42.666667 42.666667h-128c-23.466667 0-42.666667-19.2-42.666666-42.666667v-128c0-23.466667 19.2-42.666667 42.666666-42.666666h21.333334v64c0 12.8 8.533333 21.333333 21.333333 21.333333h42.666667c12.8 0 21.333333-8.533333 21.333333-21.333333v-64h21.333333c23.466667 0 42.666667 19.2 42.666667 42.666666v128z" p-id="5610"></path><path d="M853.333333 682.666667h-128c-12.8 0-21.333333 8.533333-21.333333 21.333333s8.533333 21.333333 21.333333 21.333333h128c12.8 0 21.333333-8.533333 21.333334-21.333333s-8.533333-21.333333-21.333334-21.333333z" p-id="5611"></path></svg>',
                    "menu_type": "api",
                    "url": "/storage_modelview/api/",
                    "disable": True
                }
            ]
        }

        # print(request.scheme)
        # print(request.scheme)
        # print(request.scheme)
        # print(request.scheme)
        # print(request.is_secure)

        links = {
            "name": 'link',
            "title": __('链接(管理员)'),
            'hidden': 0,
            "icon": '<svg t="1653033023483" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2982" width="200" height="200"><path d="M618.24 439.381333a152.746667 152.746667 0 0 1 0 216l-135.893333 135.893334a163.370667 163.370667 0 1 1-231.04-231.04l66.922666-66.944 45.269334 45.269333-66.944 66.944a99.370667 99.370667 0 1 0 140.522666 140.522667l135.893334-135.893334a88.746667 88.746667 0 0 0 0-125.482666z m182.528-197.589333a163.370667 163.370667 0 0 1 0 231.04L733.866667 539.776l-45.269334-45.248 66.944-66.944a99.370667 99.370667 0 1 0-140.522666-140.522667l-135.893334 135.893334a88.746667 88.746667 0 0 0 0 125.482666l-45.269333 45.269334a152.746667 152.746667 0 0 1 0-216l135.893333-135.893334a163.370667 163.370667 0 0 1 231.04 0z" p-id="2983"></path></svg>',
            "isMenu": True,
            "isExpand": True,
            "children": [
                {
                    "name": link.get('name', ''),
                    "title": link.get('label', ''),
                    "icon": '<svg t="1653033023483" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2982" width="200" height="200"><path d="M618.24 439.381333a152.746667 152.746667 0 0 1 0 216l-135.893333 135.893334a163.370667 163.370667 0 1 1-231.04-231.04l66.922666-66.944 45.269334 45.269333-66.944 66.944a99.370667 99.370667 0 1 0 140.522666 140.522667l135.893334-135.893334a88.746667 88.746667 0 0 0 0-125.482666z m182.528-197.589333a163.370667 163.370667 0 0 1 0 231.04L733.866667 539.776l-45.269334-45.248 66.944-66.944a99.370667 99.370667 0 1 0-140.522666-140.522667l-135.893334 135.893334a88.746667 88.746667 0 0 0 0 125.482666l-45.269333 45.269334a152.746667 152.746667 0 0 1 0-216l135.893333-135.893334a163.370667 163.370667 0 0 1 231.04 0z" p-id="2983"></path></svg>',
                    "menu_type": "out_link",
                    "disable": not is_admin,
                    "url": link.get('url','') if 'http' not in link.get('url','') else link.get('url',''),
                } for link in conf.get('ALL_LINKS',[])
            ]
        }

        print(request.host_url)

        projetc['children'].append(resource_setting)
        projetc['children'].append(security_setting)

        # print(aihub['children'])
        projetc['children'].append(links)
        # if conf.get('BABEL_DEFAULT_LOCALE','zh')=='en':
        #     menu = [projetc, data, dev, ml, service]
        # else:
        menu = [projetc, data, dev, ml, service, aihub, chat]

        if conf.get('MENU', []):
            menu = conf.get('MENU', [])
        if conf.get('MENU_ADMIN', []) and is_admin:
            menu = conf.get('MENU_ADMIN', [])

        return jsonify(menu)

    @expose('/feature/check')
    def featureCheck(self):
        url = request.values.get("url", type=str, default=None)
        # print(conf.get('alert_config',{}))
        for route in conf.get('alert_config', {}):
            # 用户自定义目录
            if url.replace("/frontend", '') == route.replace("/frontend", ''):
                try:
                    return jsonify(conf.get('alert_config', {})[route]())
                except Exception as e:
                    print(e)
                    data = {
                        'content': __('未能正常获取弹窗信息'),
                        'delay': 30000,
                        'hit': False,
                        'target': url,
                        'title': __('弹窗失败'),
                        'type': 'html',
                    }
                    # flash('未能正常获取弹窗信息', 'warning')
                    return jsonify(data)

        # flash('xxxxxxx','success')
        return jsonify({})


# add_view_no_menu添加视图，但是没有菜单栏显示
appbuilder.add_view_no_menu(Myapp)

from myapp.views.baseApi import (
    MyappModelRestApi
)
from myapp.security import MyUserRemoteUserModelView_Base, MyUser
from flask_appbuilder.models.sqla.interface import SQLAInterface


# from flask_appbuilder.security.views import UserModelView

class MyUserRemoteUserModelView_Api(MyUserRemoteUserModelView_Base, MyappModelRestApi):
    datamodel = SQLAInterface(MyUser)
    route_base = "/users/api"


appbuilder.add_api(MyUserRemoteUserModelView_Api)
